在Python中,你可以使用subprocess
模塊來執行外部命令
import subprocess
# 使用subprocess.run()執行命令并等待完成
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
# 打印執行結果
print(result.stdout)
在這個例子中,我們使用subprocess.run()
函數執行了一個簡單的ls -l
命令,該命令列出了當前目錄下的所有文件和文件夾。capture_output=True
參數表示我們希望捕獲命令的輸出,而text=True
參數表示我們希望將輸出作為文本處理。
subprocess.run()
函數返回一個subprocess.CompletedProcess
對象,該對象包含了命令執行的結果,如返回碼、標準輸出和標準錯誤等。在這個例子中,我們只打印了命令的標準輸出。
如果你需要執行更復雜的命令,可以使用subprocess.Popen
類。以下是一個使用subprocess.Popen
的示例:
import subprocess
# 創建一個Popen對象
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 等待命令執行完成并獲取輸出
stdout, stderr = process.communicate()
# 打印執行結果
print(stdout)
print(stderr)
在這個例子中,我們使用subprocess.Popen
創建了一個Popen對象,并通過stdout
和stderr
參數指定了命令的標準輸出和標準錯誤。然后,我們使用process.communicate()
方法等待命令執行完成并獲取輸出。最后,我們打印了命令的標準輸出和標準錯誤。