在Python中设置并执行Linux命令,你可以使用`subprocess`模块,它提供了更灵活的方式来运行外部命令并获取其输出。以下是一个使用`subprocess`模块执行Linux命令的基本示例:
import subprocess
执行ls命令并获取输出
result = subprocess.run(['ls'], capture_output=True, text=True)
print(result.stdout)
执行pwd命令并获取输出
result = subprocess.run(['pwd'], capture_output=True, text=True)
print(result.stdout)
在这个例子中,`subprocess.run`函数用于执行命令,`capture_output=True`参数告诉函数捕获命令的标准输出和标准错误,`text=True`参数让输出结果以文本形式返回。执行命令后,可以通过`result.stdout`属性获取命令的输出。
如果你需要执行更复杂的命令,或者需要与命令行进行交互,`subprocess`模块同样提供了相应的功能。例如,你可以使用`subprocess.Popen`类来打开一个管道与命令行进行交互:
import subprocess
打开一个管道与命令行交互
process = subprocess.Popen(['ls', '*.py'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
读取命令的输出
output, error = process.communicate()
打印输出和错误信息
print(output)
if error:
print(error)
在这个例子中,`communicate`方法用于读取命令的标准输出和标准错误,并以元组的形式返回。如果有错误发生,错误信息也会被打印出来。
需要注意的是,在使用`subprocess`模块时要格外小心,因为它可以执行任意命令,这可能会带来安全风险。确保你执行的命令是可信的,或者来自可信任的来源