在Python中,你可以使用subprocess
模塊來執行Bash命令
import subprocess
# Bash命令,將兩個文件相加
bash_command = "echo 'a.txt + b.txt' | bc"
# 使用subprocess.run()執行Bash命令
result = subprocess.run(bash_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
# 輸出執行結果
print("Output:", result.stdout)
print("Error:", result.stderr)
在這個示例中,我們使用subprocess.run()
函數執行了一個Bash命令,該命令將兩個文件相加。stdout
和stderr
參數用于捕獲命令的輸出和錯誤信息。text=True
參數表示我們希望以文本模式接收輸出,而不是字節模式。shell=True
參數表示我們希望在shell中執行命令。
請注意,使用shell=True
可能會導致安全風險,特別是在處理用戶提供的輸入時。在這種情況下,最好使用命令序列(列表形式)而不是shell=True
。例如:
bash_command = ["echo", "a.txt + b.txt", "|", "bc"]
result = subprocess.run(bash_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
這種方法更安全,因為它不會在shell中執行命令,而是直接在Python中執行。