在Python中,你可以使用subprocess
模块来执行Bash命令
import subprocess
# 定义一个Bash命令
bash_command = "echo 'Hello, World!'"
# 使用subprocess.run()执行Bash命令
result = subprocess.run(bash_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
# 输出执行结果
print("返回码:", result.returncode)
print("标准输出:", result.stdout)
print("错误输出:", result.stderr)
在这个例子中,我们使用subprocess.run()
函数执行了一个简单的Bash命令echo 'Hello, World!'
。stdout
和stderr
参数用于捕获命令的输出,text=True
表示以文本模式处理输出(而不是字节模式)。shell=True
表示在shell环境中执行命令。
如果你需要执行更复杂的Bash脚本,可以将脚本文件名作为bash_command
变量的值:
bash_command = "/path/to/your/script.sh"
请注意,使用shell=True
可能会导致安全风险,尤其是在处理用户提供的输入时。在这种情况下,最好使用shell=False
并传递一个命令序列(列表形式):
bash_command = ["/path/to/your/script.sh"]
result = subprocess.run(bash_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)