Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erläuterung der drei Methoden zum Ausführen von Shell-Befehlen in Python

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

高洛峰
高洛峰Original
2018-05-12 16:09:482260Durchsuche

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')

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()

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

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'


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!

Stellungnahme:
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