我正在生成一个文本文件,稍后由外部程序处理。这必须完成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
和这些选项。如果我尝试使用shell,它就不起作用。
在调用subprocess.call()
之后我还需要做什么才能刷新内部资源吗?
尝试使用subprocess.check_output
https://docs.python.org/3/library/subprocess.html#subprocess.check_output
_ = subprocess.check_output(['/path/to/nucplot', '-i', '-c', 'textfile.txt'])