Heim > Artikel > Backend-Entwicklung > Ausführliche Erklärung, wie Systembefehle in Python ausgeführt werden
Als ich kürzlich an diesem Test-Framework arbeitete, stellte ich fest, dass ich mit der Ausführung von Systembefehlen in Python nicht sehr vertraut war. Deshalb habe ich mir überlegt, es zusammenzufassen. Der folgende Artikel stellt Ihnen hauptsächlich die Methode zur Ausführung von Systembefehlen in Python vor. Freunde, die es brauchen, können als Referenz einen Blick darauf werfen.
Vorwort
Python wird oft als „Klebesprache“ bezeichnet, da es problemlos andere Programme bedienen und für die Verwendung in anderen Sprachen leicht gepackt werden kann . Bibliothek geschrieben. In der Python/wxPython-Umgebung eine Methode zum Ausführen externer Befehle oder zum Starten eines anderen Programms in einem Python-Programm.
In diesem Artikel werden die relevanten Informationen zum Ausführen von Systembefehlen in Python ausführlich vorgestellt. Ich werde im Folgenden nicht viel sagen, werfen wir einen Blick auf die detaillierte Einführung.
(1) os.system()
Diese Methode ruft direkt die Standard-C-system()
-Funktion auf, nur in einer Das Subterminal führt Systembefehle aus, kann jedoch die von der Ausführung zurückgegebenen Informationen nicht abrufen.
>>> import os >>> output = os.system('cat /proc/cpuinfo') processor : 0 vendor_id : AuthenticAMD cpu family : 21 ... ... >>> output # doesn't capture output 0
(2) os.popen()
Diese Methode führt den Befehl aus und gibt das ausgeführte Informationsobjekt zurück. Das Ergebnis wird über eine Pipeline-Datei zurückgegeben.
>>> output = os.popen('cat /proc/cpuinfo') >>> output <open file 'cat /proc/cpuinfo', mode 'r' at 0x7ff52d831540> >>> print output.read() processor : 0 vendor_id : AuthenticAMD cpu family : 21 ... ... >>><span style="font-size:14px;">
(3) Befehlsmodul
>>> import commands >>> (status, output) = commands.getstatusoutput('cat /proc/cpuinfo') >>> print output processor : 0 vendor_id : AuthenticAMD cpu family : 21 ... ... >>> print status 0
Hinweis 1: Der von dieser Methode unter einem Unix-ähnlichen System zurückgegebene Rückgabewert (Status) unterscheidet sich vom Rückgabewert nach dem Skript oder Der Befehl wird ausgeführt. Dies liegt daran, dass os.wait() aus diesem spezifischen Grund aufgerufen wird. Sie müssen die Implementierung von system wait() verstehen. Wenn Sie den richtigen Rückgabewert (Status) benötigen, müssen Sie den Rückgabewert nur um 8 Bit nach rechts verschieben.
Hinweis 2: Wenn die Parameter oder Rückgaben des Ausführungsbefehls chinesischen Text enthalten, wird die Verwendung eines Unterprozesses empfohlen.
(4) Unterprozessmodul
Dieses Modul ist ein leistungsstarkes Unterprozessverwaltungsmodul, das , os.system
und andere Methoden. os.spawn*
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie Systembefehle in Python ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!