在Python中,你可以使用subprocess
模塊來執行命令行操作并實現自動化。以下是一個簡單的示例,展示了如何使用subprocess
模塊執行命令并捕獲輸出:
import subprocess
# 要執行的命令行命令
command = "echo 'Hello, World!'"
# 使用subprocess.run()執行命令
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
# 打印執行結果
print("命令行輸出:", result.stdout)
print("錯誤輸出:", result.stderr)
print("返回碼:", result.returncode)
在這個示例中,我們執行了一個簡單的echo
命令。subprocess.run()
接收一個命令字符串(或命令序列),并通過stdout
、stderr
和text
參數來捕獲命令的輸出。stdout=subprocess.PIPE
表示我們希望捕獲命令的標準輸出,stderr=subprocess.PIPE
表示我們希望捕獲命令的錯誤輸出,text=True
表示我們希望以文本形式接收輸出(而不是字節形式)。shell=True
表示我們希望在shell中執行命令,這在執行包含管道、重定向等特性的命令時非常有用。
你可以根據需要修改command
變量來執行不同的命令行操作。如果你需要執行多個命令,可以將它們放在一個列表中,如下所示:
command = ["echo 'Hello, World!'", "ls /"]
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
請注意,使用shell=True
可能會導致安全風險,特別是在處理用戶提供的輸入時。在這種情況下,最好使用命令序列(列表形式)而不是命令字符串,并避免使用shell=True
。