首頁 >後端開發 >Python教學 >如何在不顯示螢幕的情況下在 Python 中捕獲系統命令輸出並將其分配給變數?

如何在不顯示螢幕的情況下在 Python 中捕獲系統命令輸出並將其分配給變數?

Linda Hamilton
Linda Hamilton原創
2024-12-17 18:49:20432瀏覽

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

將os.system 的輸出分配給變量,同時抑制螢幕顯示

在Python 中,os.system 用於執行系統命令並傳回一個值指示命令的退出狀態。但是,命令的輸出通常顯示在螢幕上。在某些情況下這可能並不理想。

要將命令輸出指派給變數並防止其顯示在螢幕上,可以使用 os.popen() 函數而不是 os.system。 os.popen() 傳回一個管道對象,您可以使用它來讀取指令的輸出。

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)

或者,您可以使用更強大的 subprocess.Popen 類別來管理子進程並與子進程通訊。以下是使用 subprocess.Popen 得到相同結果的方法:

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)

以上是如何在不顯示螢幕的情況下在 Python 中捕獲系統命令輸出並將其分配給變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn