python - 使用 subprocess.call 执行 python 文件?
问题描述
我正在使用subprocess.call
以执行另一个 python 文件。考虑到将被调用的脚本将永远不会终止执行,因为它在无限循环中,我怎样才能使原始脚本在子进程调用之后继续执行?
示例:我有 script1.py 进行一些计算,然后调用 script2.py using subprocess.call(["python", "script2.py"])
,因为它在无限循环中,所以 script1 在执行时卡住了,除了使用 subprocess 模块之外,还有其他方法可以运行文件吗?
解决方案
subprocess.call(["python", "script2.py"])
等待子进程完成。
只需使用Popen
:
proc = subprocess.Popen(["python", "script2.py"])
您可以稍后proc.poll()
查看它是否完成,或者proc.wait()
等待它完成(就像call
这样),或者只是忘记它并做其他事情。
顺便说一句,您可能希望通过使用而不是 just来确保python
调用相同的内容,并且操作系统可以找到它:sys.executable
"python"
subprocess.Popen([sys.executable, "script2.py"])
推荐阅读
- markdown - 如何仅为源格式换行
- sql - 使用 GROUP BY 的情况
- flutter - 计时器正在跳过几分钟,几分钟后无法正常工作
- statistics - 循环遍历列以对每个列执行分析
- java - @Transactional 注释不起作用springboot
- node.js - How to create a HTTPS tunnel on my vps for my twitch bot event listen
- fluentd - Fluentd 将输出插件复制到 https 服务器
- php - 在 Laravel 网站注册期间与服务器通信失败
- hybris - Spartacus 3.1 新安装显示空白页
- python - GPflow 2 自定义内核构造:构造良好,但内核大小无优化