在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對象,并通過stdout
和stderr
參數(shù)指定了命令的標準輸出和標準錯誤。然后,我們使用process.communicate()
方法等待命令執(zhí)行完成并獲取輸出。最后,我們打印了命令的標準輸出和標準錯誤。