我正在生成一个文本文件,稍后将由外部程序进行处理。这必须完成1000次,为此,我在循环中对要处理的每个文本文件使用subprocess.call()。
+= 16
的第一次调用效果很好。
第二次调用失败,并且python程序退出并显示subprocess.call()
。
-没有调试输出。 -两者均保持停止状态,但在进程列表中
我尝试了[]Stop
,subprocess.call()
,结果是一样的。我尝试使用与第一次执行相同的文本文件来运行它,但是它也失败了,所以罪魁祸首肯定是subprocess.Popen()
函数。
这是调用外部程序的行
subprocess.call()
该程序是一个简单的二进制文件,但是它必须使用其安装的ENV变量才能正常工作,因此将subprocess.call(['/bin/bash', '-i', '-c', 'nucplot textfile.txt']);
与这些选项一起使用。如果尝试使用外壳,它将无法正常工作。
调用/bin/bash
后是否还需要做其他操作以刷新其内部内容?
答案 0 :(得分:0)
尝试使用subprocess.check_output
https://docs.python.org/3/library/subprocess.html#subprocess.check_output
_ = subprocess.check_output(['/path/to/nucplot', '-i', '-c', 'textfile.txt'])