Проблема с корректным запуском exe-файла из файла python

#python #file #subprocess

#python #файл #подпроцесс

Вопрос:

Я хочу запустить exe-файл из файла python, но есть проблема с чтением из txt-файла. Exe не выдает никаких ошибок, но, похоже, он даже не открывает .txt. Кроме того, .exe работает хорошо, когда я вхожу в папку и запускаю ее вручную. Как я запускаю .exe в python:

 subprocess.check_call(['D:ProjectsPythonProjectsPrivateGithubMinMaxEXERun.exe'])
 

Должен ли я сделать что-то «особенное», чтобы иметь возможность читать из файлов?

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

1. Какой .txt-файл? Что вы подразумеваете под тем, что он не открывает .txt? Что он должен делать? Что он делает? Почему вы спрашиваете о запуске exe-файла, а затем спрашиваете, нужно ли вам делать что-то особенное для чтения из файлов? Какие файлы?

2. Я переместил файл .exe в другую папку, и теперь он работает. Как я должен объяснить вам, какой текстовый файл? Я использую запись / чтение в .txt в своей программе (написанной на cpp), но когда я собрал ее и запустил .exe из python, это просто не сработало. Я имею в виду .exe так же, как игнорируемую часть кода, где он должен сохранять sth в .txt-файл. Однако это сработало, когда я запустил его, просто щелкнув мышью (не через python). Но, как я уже сказал, я извлекаю файл .exe из папки, и теперь он работает (и да, у меня были все необходимые файлы в этой папке)

3. exe-файлы могут запускаться без ошибок, если они не закодированы для возврата кодов ошибок. Программа будет выполняться в текущем каталоге python, так есть ли у exe-программы проблемы с этим? поместите ваш .py-файл и .exe-файл в один и тот же каталог, настройте вызов вашего подпроцесса так, чтобы он указывал правильный путь к exe, затем запустите ваш py-файл и посмотрите, работает ли он таким образом.

Ответ №1:

Попробуйте этот код для запуска exe:

 import os
os.startfile('D:ProjectsPythonProjectsPrivateGithubMinMaxEXERun.exe')