在Python中,你可以使用subprocess
模块来执行命令并获取输出
import subprocess
# 要执行的命令,例如:ls命令
command = "ls"
# 使用subprocess.run()执行命令
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)
# 获取命令的输出
output = result.stdout
# 打印输出
print("Command output:")
print(output)
在这个例子中,我们执行了ls
命令,并将stdout
和stderr
设置为subprocess.PIPE
以便捕获输出。text=True
参数表示我们希望以文本形式接收输出,而不是字节形式。shell=True
参数允许我们在shell环境中执行命令,这在执行包含管道、重定向等特性的命令时非常有用。
请注意,使用shell=True
可能会导致安全风险,尤其是在处理用户提供的输入时。在这种情况下,最好避免使用shell=True
,并直接将命令及其参数作为列表传递。例如:
command = ["ls", "-l"]