DetoX Posted February 21, 2010 Report Posted February 21, 2010 (edited) 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')>>>0Dar 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 February 21, 2010 by DetoX Quote
cmiN Posted February 21, 2010 Report Posted February 21, 2010 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 . Quote
DetoX Posted February 21, 2010 Author Report Posted February 21, 2010 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 @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? Quote
cmiN Posted February 21, 2010 Report Posted February 21, 2010 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. Quote