使用subprocess.run调用外部程序
今天查找图纸的优化方法,在github上看到一个开源的代码,在python中使用subprocess.run调用外部程序
demo.py
import subprocess COMMAND = "echo" PARAMS = r"hello,world" # Command to run cmd = [COMMAND, PARAMS] # Run subprocess.run(cmd, shell=True)
执行demo.py,输出
hello,world
说明:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, universal_newlines=False)
args:要执行的shell命令,默认应该是一个字符串序列
shell:如果shell为True,那么指定的命令将通过shell执行
check:如果check参数的值是True,且执行命令的进程以非0状态码退出,则会抛出一个CalledProcessError的异常,且该异常对象会包含 参数、退出状态码、以及stdout和stderr
stdout,stdin和stderr:可以和标准流交互
subprocess模块可以生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2018-07-23 使用intellij idea打包并部署到外部的tomcat