在Python中,你可以使用subprocess模块来调用外部命令。subprocess模块提供了一个简单一致的方式来启动新进程,连接它们的输入/输出/错误管道,并获取它们的返回码。
以下是一个简单的例子,展示了如何在Python中使用subprocess模块调用外部命令:
import subprocess
# 调用外部命令并获取输出
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 打印输出结果
print("stdout:", result.stdout)
print("stderr:", result.stderr)
print("returncode:", result.returncode)
在这个例子中,我们使用subprocess.run()函数调用了ls -l命令。stdout=subprocess.PIPE和stderr=subprocess.PIPE参数表示我们希望捕获命令的标准输出和标准错误。text=True参数表示我们希望以文本形式接收输出,而不是字节形式。
subprocess.run()函数返回一个CompletedProcess对象,它包含了命令的输出、错误和返回码等信息。
如果你需要更多的控制,例如实时读取输出或与子进程进行交互,你可以使用subprocess.Popen类。以下是一个使用Popen的例子:
import subprocess
# 创建一个子进程
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 实时读取输出
for line in process.stdout:
print(line, end='')
# 等待子进程完成并获取返回码
returncode = process.wait()
print("returncode:", returncode)
在这个例子中,我们使用subprocess.Popen创建了一个子进程,并通过process.stdout实时读取输出。process.wait()方法会等待子进程完成,并返回其返回码。
以上就是关于“Python在CentOS中如何调用外部命令”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm