【发布时间】:2019-08-15 00:37:15
【问题描述】:
我正在生成一个稍后由外部程序处理的文本文件。这必须完成 1000 次,为此,我在循环内为我要处理的每个文本文件使用 subprocess.call()。
subprocess.call() 的第一次调用完美运行。
第二次调用失败,python程序以[]Stop退出。
- 没有调试输出。 - 两者都保持停止状态,但在进程列表中
我试过subprocess.call()、subprocess.Popen(),结果是一样的。我尝试使用与第一次执行相同的文本文件运行它,但它也失败了,所以罪魁祸首肯定是subprocess.call() 函数。
这是调用外部程序的行
subprocess.call(['/bin/bash', '-i', '-c', 'nucplot textfile.txt']);
该程序是一个简单的二进制文件,但它必须使用其安装的 ENV 变量才能正常工作,因此/bin/bash 与这些选项一起使用。如果我尝试使用外壳,它不起作用。
在调用subprocess.call() 之后我还需要做些什么来刷新它的内部内容吗?
【问题讨论】:
-
nucplot是做什么的?可能是锁住了输入文件,第二个实例打不开,失败了?
标签: python subprocess