Detaillierte Erläuterung der drei Methoden zum Ausführen von Shell-Befehlen in Python

高洛峰
Freigeben: 2018-05-12 16:09:48
Original
2211 Leute haben es durchsucht

Seit kurzem müssen Shell-Befehle auf der Seite ausgeführt werden

Der erste ist os.system

Der Code lautet wie folgt:

os.system('cat /proc/cpuinfo')
Nach dem Login kopieren

Aber ich habe festgestellt, dass auf der Seite das gedruckte Ergebnis der Befehlsausführung 0 oder 1 ist, was natürlich nicht den Anforderungen entspricht.

Versuchen Sie die zweite Lösung os.popen()

Der Code lautet wie folgt:

output = os.popen('cat /proc/cpuinfo')
print output.read()
Nach dem Login kopieren

Was durch os.popen() zurückgegeben wird, ist das Dateileseobjekt . Führen Sie die Operation read() aus, um die Ausgabe der Ausführung anzuzeigen. Der Rückgabewert der Programmausführung kann jedoch nicht gelesen werden)

Probieren Sie die dritte Lösung aus: commands.getstatusoutput() Sie können den Rückgabewert und die Ausgabe in einer Methode abrufen, was sehr einfach zu verwenden ist.

Der Code lautet wie folgt:

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
Nach dem Login kopieren

Ein Beispiel im Python-Dokument,

Der Code lautet wie folgt:

>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der drei Methoden zum Ausführen von Shell-Befehlen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage