【问题标题】:why Popen can't exec python cmd?为什么 Popen 不能执行 python cmd?
【发布时间】:2013-09-08 06:07:09
【问题描述】:

我想使用 Popen 执行命令,请参阅下面的代码:

import subprocess
p = subprocess.Popen('/usr/bin/python a.py')
p2 = subprocess.Popen('ls', stdout = subprocess.PIPE)
print p2.stdout.readlines()

执行此脚本时,出现以下错误:

File "demo.py", line 4, in <module>
  p0 = subprocess.Popen('/usr/bin/python a.py')
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
 errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
  raise child_exception
OSError: [Errno 2] No such file or directory

有什么问题? 另一个问题是,如果 a.py 是一个“while-True-loop”,p2 可以返回吗?

谢谢!

【问题讨论】:

  • 试试subprocess.Popen('/usr/bin/python a.py', shell=True)subprocess.Popen(['/usr/bin/python', 'a.py'])

标签: python python-2.7 subprocess popen


【解决方案1】:

检查您的 python 和“a.py”脚本路径并确保它们存在!

然后试试这个:

import subprocess
p = subprocess.Popen(["/usr/bin/python" , "a.py"], stdout=subprocess.PIPE)
out, err = p.communicate()

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多