Jump to content
DetoX

[Python] Shell commands

Recommended Posts

Salutare! Am nevoie de cateva comenzi din shell-ul Linux. Am vazut ca in C/C++ e o functie care apeleaza shell-ul. Ma gandeam ca e ceva si in Python.

Am incercat cu modulul os:

>>>import os
>>>os.system('ls')
>>>0

Dar nu stiu de ce imi afiseaza 0 si nu rezultatul comenzii. Apoi am incercat:

>>>import os
>>>os.popen('ls').read()

E ok. Output:

>>>'8E8Dkr\n8QrM8W\n9_FWCi\naaaaa.psd\naaaa.gif\naaaa.jpg\naaaa.png\naaa.ui\na.out\na.sh\na.tmp\nAuvHSh\nb\nbin\nBS5LYJ\nbt\nbt.torrent\nbutton\nbutton_test\nd\ndasdad.jpg\ndata.sh\nDesktop\nDocuments\nDownloads\ndwhelper\nEOF\nExamples\nfilelistmodel\nfirefox-3.6.tar.bz2\nFirefox Setup 3.6.exe\nFirefox Setup 3.6.exe.1\nFirefox_wallpaper.png\nFlorin\nfoo.mng\nfunction.sh\ngame.py\ngtk-recordMyDesktop-crash.log\nh\nh8w9ON\nHOwv98\nindex.html\ninstructiuni_ftp.txt\nip.sh\nkaDRVf\nlocalhost\nLx5uEs\nmbox\nMusic\nout-1.ogv\nout.ogv\nPictures\nprogram.ui\nPublic\nquake4-demo-dedicated\nquake4-demo-smp\nreguli_gazduire.txt\nria.ui\nsalut\nsed\nstu\nTemplates\nVideos\nwikip.sh\nWWE_Smackdown_Vs_Raw_2010_PSP-VENOM\nwww\nx\n'

Era mai ok daca era afisat pe coloane ca in terminal. Dar daca de ex. vreau sa rulez:

>>>os.popen('history').read()
>>> ''

De ce imi afiseaza ' ' ? Si nu rezultatul comenzii?

Mersi anticpat.

Edited by DetoX
Link to comment
Share on other sites

os.system() returneaza 0 de fiecare data cand comanda pasata ca argument se excuta cu succes. Si pe langa asta trebuia sa mai returneze si ce-ti afisa in mod normal comanda "ls" din shell, de ex. pe windows afiseaza tot ce trebuie os.system("dir"). Tine minte system() afiseaza si returneaza un cod, pe cand popen() returneaza output-ul din shell sub forma de string. In al doilea caz, la history de iti arata un string gol probabil chiar nu iti afiseaza nimic nici in shell, vezi cum se comporta shell-ul in paralel cu functiile din python si descrie mai bine, dar pe windows ti-am zis cum se comporta :).

Link to comment
Share on other sites

Mersi de raspuns. Mi s-au clarificat cateva lucruri.

Bun, deci la prima comanda mi-a afisat 0, deci comanda a fost executata cu succes, dar unde e rezultatul comenzii? De la ce ar putea fi problema?

Da, am vazut ca mi-l returneaza sub forma de string, dar nu inteleg de ce acel string e gol (vorbesc de history). Cand rulez comanda in shell, primesc output-ul, dar in PyShell nu.

PS: Am observat ca ruleaza perfect comenzile. CU exceptia lui history, dar nu o sa fac acum din tantar aramasar. Mersi mult :D

@cmiN As mai avea o mica intrebare, am vazut ca Python e al 6-lea limbaj cel mai utilizat limbaj din lume, se cauta programatori project-based in Python?

Link to comment
Share on other sites

Am vazut ca erau niste locuri de munca prin Bangladesh pentru Python. Dupa parerea mea limbajul asta te ajuta indiferent de ce faci in domeniul informaticii, mi se pare cel mai potrivit limbaj pentru orice si cel mai usor din toate pentru lucruri destul de complexe si inalte. Sunt o gramada de pagini din Google, Yahoo, NASA, Youtube si multe alte site-uri care folosesc Python, deci daca stii limbajul sigur te va ajuta in plus pentru un loc de munca / proiecte fie ele si facute de acasa.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...