python调用系统命令_Python-无法调用系统命令

我有一些python代码,我想从中调用另一个程序.该程序将

>将一些输出打印到STDOUT

>将文件写入磁盘

使用通话我得到以下行为;

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

无论是否将参数拆分为列表,都会发生这种情况.

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

我可以从我的终端上调用相同的命令

./tango_x86_64_release VTS1 ct="N" nt="N" ph="7.2" te="303" io="0.02" seq="MKHPYEEFPTGSKSPYNMSRGAHPGAV"

可行,并且退出状态为0.

好像是写到磁盘上导致了问题,如果我中断命令,则会得到适当的警告消息(即删除参数,它警告我该参数丢失).

使用subprocess.Popen()会产生OSError;

import 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

任何帮助,不胜感激

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值