подпроцесс python выдает ошибку «нет такого файла или директории»

#python #subprocess

#python #подпроцесс

Вопрос:

 s=subprocess.Popen(['/home/karthik/Downloads/stanford-parser-2011-06-08/lexparser.csh','-'],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)

Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
        errread, errwrite)
      File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
  

Я уверен, что этот файл существует, и open () с этим именем файла работает.Почему я получаю эту ошибку? я использую python 2.7

Комментарии:

1. Очевидно, что он не существует. Должны ли мы доверять сообщению об ошибке Python или вашему заявлению?

2. f=открыть(«/home/karthik/Downloads/stanford-parser-2011-06-08/ lexparser.csh»,»r»). Это работает отлично

3. у вас есть #! (shebang) в начале файла, который вы пытаетесь выполнить, указывающий на команду, которая не существует? (или, другими словами, можете ли вы выполнить ту же команду вручную?)

4. я запускаю эту команду в интерпретаторе python, так что следует ли добавлять shebang?

5. Когда я запускаю lexparser.csh из nlp.stanford.edu/software/lex-parser.shtml в командной строке я получаю: ./lexparser.csh: bad interpreter: /bin/csh: no such file or directory . Сначала мне пришлось бы установить csh / tcsh.

Ответ №1:

Убедитесь, что csh он установлен и находится в /bin/csh (в противном случае отредактируйте команду после ввода lexparser.sh ).