Попен выдает ошибку «Файл не найден» (windows / python)

1

Я пытаюсь запустить консольные команды с помощью subprocess.Popen, и всякий раз, когда я его запускаю, я получаю сообщение об ошибке "Файл не найден" даже при выполнении команды echo. Я также использую Popen внутри потока, созданного с помощью модуля потока. Это проблема?

Теги:
popen

2 ответа

4
Лучший ответ

Вместо
D:\Program Files\Steam\steamapps\terabytest\sourcesdk\bin\orangebox\bin\vbsp.exe используйте
D:/Program Files/Steam/steamapps/terabytest/sourcesdk/bin/orangebox/bin/vbsp.exe

Это устраняет любые осложнения с обратной косой чертой внутри кавычек.

  • 1
    Другим важным источником проблемы является пробел внутри пути. Гораздо надежнее использовать список параметров вместо строки. Попробуйте сделать что-то вроде Popen (["D: / Program Files / Steam / steamapps / terabytest / sourcesdk / bin / orangebox / bin / vbsp.exe", "param1", "param2"])
1

echo не является исполняемым, это внутренняя команда внутри cmd.exe. Если вы хотите использовать Popen с внутренними командами, добавьте параметр ключевого слова shell=True

  • 0
    Я помещаю в «D: \ Program Files \ Steam \ steamapps \ terabytest \ sourcesdk \ bin \ orangebox \ bin \ vbsp.exe» »и все равно получаю ошибки, они не работают ни с shell = True, либо с shell = False Почему?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню