【问题标题】:raise child_exception , OSError: [Errno 2] No such file or directoryraise child_exception , OSError: [Errno 2] No such file or directory
【发布时间】:2015-05-15 05:52:01
【问题描述】:
import sys,os
import subprocess
import pdb

pdb.set_trace()
findCMD = 'find . -name "pcapdump0"'
print os.getcwd()
print findCMD
out = subprocess.Popen(findCMD,stdout=subprocess.PIPE)
(stdout, stderr) = out.communicate()
filelist = stdout.decode().split()
print filelist

我收到了这个错误

Traceback (most recent call last):
File "generatepcap.py", line 10, in <module>
out = subprocess.Popen(findCMD,stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

【问题讨论】:

  • 更具体!你想实现什么,哪部分代码导致问题,.... find 的调用是否返回任何文件?
  • Popen 需要参数序列,而不是单个大字符串。使用subprocess.Popen(shlex.split(findCMD), stfout=subprocess.PIPE)
  • that question 的重复。有关详细说明,请参阅链接。

标签: python exception


【解决方案1】:

简单地说就是:popen找不到你指定的命令,因为你没有拆分字符串。

【讨论】:

    猜你喜欢
    • 2016-06-07
    • 2017-07-05
    • 2018-11-20
    • 2018-07-24
    • 2019-03-25
    • 2018-01-21
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多