Heim > Backend-Entwicklung > Python-Tutorial > So rufen Sie Systembefehle in Python auf

So rufen Sie Systembefehle in Python auf

PHPz
Freigeben: 2023-05-22 23:19:10
nach vorne
2071 Leute haben es durchsucht

1. os.system-Methode

Diese Methode ruft direkt die system()-Funktion von Standard C auf. Sie führt den Systembefehl nur in einem Unterterminal aus und kann die Rückgabeinformationen nach der Befehlsausführung nicht abrufen.

Der Rückgabewert von os.system(cmd). Wenn die Ausführung erfolgreich ist, wird 0 zurückgegeben, was darauf hinweist, dass der Befehl erfolgreich ausgeführt wurde. Andernfalls handelt es sich um einen Ausführungsfehler.

Der Rückgabewert der Verwendung von os.system ist der Exit-Statuscode des Skripts. Diese Methode gibt nach dem Aufruf des Shell-Skripts eine 16-Bit-Binärzahl zurück. Die niedrige Ziffer ist die Signalnummer zum Beenden des aufgerufenen Skripts Ziffer ist der Exit-Statuscode des Skripts.

os.system() gibt einen Wert von 0 zurück und der Linux-Befehl gibt einen Wert von 0 zurück. Der Rückgabewert von

os.system() ist 256, die sechzehnstellige Binärzahl wird angezeigt als: 00000001, 00000000, die oberen acht Bits werden in Dezimalzahl 1 konvertiert, was dem Rückgabewert des Linux-Befehls 1 entspricht. Der Rückgabewert von

os.system() ist 512, die sechzehnstellige Binärzahl wird angezeigt als: 00000010, 00000000, die oberen acht Bits werden in Dezimalzahl 2 konvertiert, was dem Rückgabewert 2 des Linux-Befehls entspricht.

import os
result = os.system('cat /etc/passwd')
print(result)      # 0
Nach dem Login kopieren

2. os.popen-Methode

Die os.popen()-Methode führt nicht nur den Befehl aus, sondern gibt nach der Ausführung auch das Informationsobjekt zurück (wird häufig verwendet, um die Rückgabeinformationen nach der Ausführung des Befehls zu erhalten). eine Pipeline-Datei. Was von os.popen() zurückgegeben wird, ist das Objekt der Dateilesung. Sie können die Ausgabe der Ausführung sehen, indem Sie sie mit read() lesen.

import os
result = os.popen('cat /etc/passwd')
print(result.read())
Nach dem Login kopieren

3. Befehlsmodul

import commands
status = commands.getstatus('cat /etc/passwd')
print(status)
output = commands.getoutput('cat /etc/passwd')
print(output)
(status, output) = commands.getstatusoutput('cat /etc/passwd')
print(status, output)
Nach dem Login kopieren

4. Unterprozessmodul

Subprocess ist ein leistungsstarkes Unterprozessverwaltungsmodul, das os.system, os.spawn* und andere Methoden ersetzt.
Wenn die Parameter oder Rückgaben des Ausführungsbefehls chinesische Zeichen enthalten, wird die Verwendung eines Unterprozesses empfohlen.

import subprocess
res = subprocess.Popen('cat /etc/passwd', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) # 使用管道
print res.stdout.read()  # 标准输出
for line in res.stdout.readlines():
    print line
res.stdout.close()         # 关闭
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo rufen Sie Systembefehle in Python auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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