在Python中,你可以使用subprocess
模块来执行命令行命令。subprocess
模块提供了多种执行外部命令的方法。以下是使用subprocess.run()
方法执行命令行命令的示例:
import subprocess
command = "echo Hello, World!"
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中执行命令,这在执行包含管道、重定向等特性的命令时非常有用。
注意:在使用shell=True
时,需要注意潜在的安全风险,因为它可能会导致命令注入攻击。在这种情况下,最好使用命令序列(列表形式)而不是命令字符串,并避免使用shell=True
。