Я пытаюсь запустить файл praat из самого python с подпроцессом, но python (подпроцесс), похоже, не может найти каталог. Я не понимаю, почему, когда я запускаю команду в терминале, она работает отлично. Не можете ли я направлять меня туда, где я ошибаюсь? Это код подпроцессошибка подпроцесса в python
import silex
import subprocess as sb
cmd_line = raw_input()
args = shlex.split(cmd_line)
p = sb.Popen(args)
Когда я запускаю его с входом
Praat /Users/admirmonteiro/tmp/tmp.praat
это ошибка, что я получаю:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Users/admirmonteiro/anaconda/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/Users/admirmonteiro/anaconda/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Как уже упоминалось, я бегу команды и они отлично работают в терминале. Я также пытался запустить subprocess.call, но та же ошибка возникает. Я также пробовал с shell = True в качестве аргумента, но также выдает ту же ошибку. Пожалуйста, помогите!
Что возвращает 'то, что Praat' при запуске из командной оболочки вручную? –
Если я наберу его сам, он откроет приложение. Если я открою его с файлом, как я уже упоминал, он запускает файл, который возвращает другой файл. Что, если я это сделаю в терминале, это сработает. – Aboogie
Также, когда я запускаю subprocess.call ([Praat]], я получил ошибку: call ([«Praat»], shell = True) /bin/sh: Praat: команда не найдена 127 это не имеет смысла, потому что когда я запускаю Praat в терминале, он работает. Я запутался. – Aboogie