我有一些python代码,我想从中调用另一个程序。这个程序将将某些输出打印到STDOUT
将文件写入磁盘
使用call我得到以下行为:from subprocess import call
call(['./tango_x86_64_release', 'VTS1 ct="N" nt="N" ph="7.2" te="303" io="0.02" seq="MKHPYEEFPTGSKSPYNMSRGAHPGAV"'])
34, File not properly written, try writing it up again,
1
不管参数是否被拆分成一个列表,都会发生这种情况
^{pr2}$
我可以从我的终端调用这个命令./tango_x86_64_release VTS1 ct="N" nt="N" ph="7.2" te="303" io="0.02" seq="MKHPYEEFPTGSKSPYNMSRGAHPGAV"
它起作用,并给出0的退出状态。在
似乎是写入磁盘导致了问题,如果我中断了命令,那么我会得到相应的警告消息(即删除一个参数,它警告我参数丢失)。在
使用subprocess.Popen()得到一个OSErrorimport subprocess as sub
output = sub.Popen('./tango_x86_64_release VTS1 ct="N" nt="N" ph="7.2" te="303" io="0.02" seq="MKHPYEEFPTGSKSPYNMSRGAHPGAV"', stdout=sub.PIPE, stderr=sub.PIPE)
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
非常感谢任何帮助