Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe von Systembefehlen ohne Bildschirmanzeige erfassen und einer Variablen in Python zuweisen?

Wie kann ich die Ausgabe von Systembefehlen ohne Bildschirmanzeige erfassen und einer Variablen in Python zuweisen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 18:49:20431Durchsuche

How to Capture and Assign System Command Output to a Variable in Python without Screen Display?

Ausgabe von os.system einer Variablen zuweisen und gleichzeitig die Bildschirmanzeige unterdrücken

In Python wird os.system zum Ausführen eines Systembefehls verwendet und gibt einen Wert zurück Gibt den Exit-Status des Befehls an. Die Ausgabe des Befehls wird jedoch normalerweise auf dem Bildschirm angezeigt. Dies kann in bestimmten Situationen unerwünscht sein.

Um die Befehlsausgabe einer Variablen zuzuweisen und zu verhindern, dass sie auf dem Bildschirm angezeigt wird, können Sie die Funktion os.popen() anstelle von os.system verwenden. os.popen() gibt ein Pipe-Objekt zurück, mit dem Sie die Ausgabe des Befehls lesen können.

import os

# Use os.popen to capture the output of the command
popen_object = os.popen('cat /etc/services')

# Read the output from the pipe object
output = popen_object.read()

# Print the output, which will not be displayed on the screen
print(output)

Alternativ können Sie die leistungsfähigere Klasse subprocess.Popen verwenden, um Unterprozesse zu verwalten und mit ihnen zu kommunizieren. So würden Sie mit subprocess.Popen das gleiche Ergebnis erzielen:

import subprocess

# Create a subprocess object
proc = subprocess.Popen(['cat', '/etc/services'], stdout=subprocess.PIPE)

# Communicate with the subprocess and retrieve its output
output, _ = proc.communicate()

# Print the output, which will not be displayed on the screen
print(output)

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von Systembefehlen ohne Bildschirmanzeige erfassen und einer Variablen in Python zuweisen?. 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