溫馨提示×

python subprocess怎樣執(zhí)行命令

小樊
81
2024-11-16 16:00:43
欄目: 編程語言

在Python中,你可以使用subprocess模塊來執(zhí)行外部命令

import subprocess

# 使用subprocess.run()執(zhí)行命令并等待完成
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)

# 打印執(zhí)行結(jié)果
print(result.stdout)

在這個例子中,我們使用subprocess.run()函數(shù)執(zhí)行了一個簡單的ls -l命令,該命令列出了當前目錄下的所有文件和文件夾。capture_output=True參數(shù)表示我們希望捕獲命令的輸出,而text=True參數(shù)表示我們希望將輸出作為文本處理。

subprocess.run()函數(shù)返回一個subprocess.CompletedProcess對象,該對象包含了命令執(zhí)行的結(jié)果,如返回碼、標準輸出和標準錯誤等。在這個例子中,我們只打印了命令的標準輸出。

如果你需要執(zhí)行更復雜的命令,可以使用subprocess.Popen類。以下是一個使用subprocess.Popen的示例:

import subprocess

# 創(chuàng)建一個Popen對象
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 等待命令執(zhí)行完成并獲取輸出
stdout, stderr = process.communicate()

# 打印執(zhí)行結(jié)果
print(stdout)
print(stderr)

在這個例子中,我們使用subprocess.Popen創(chuàng)建了一個Popen對象,并通過stdoutstderr參數(shù)指定了命令的標準輸出和標準錯誤。然后,我們使用process.communicate()方法等待命令執(zhí)行完成并獲取輸出。最后,我們打印了命令的標準輸出和標準錯誤。

0