Я создал игру виселицы с использованием других файлов .txt в том же каталоге, содержащих банки слов для игры виселицы, они открываются из файла hangman.py, когда я использую pyinstaller для упаковки, я использую path\to\pyinstaller.exe hangman.py --onefile
, но это не позволяет использовать файлы .txt из исполняемого файла. Как мне упаковать файлы .txt, чтобы исполняемый файл мог работать правильно?
Упаковка файлов .txt для использования в исполняемом файле python с использованием pyinstaller
Ответы (1)
Вы можете использовать
pyinstaller --add-data 'path/to/file.txt:path/inside/exe' hangman.py
или редактирование файла спецификации со списком файлов, т.е.
added_files = [
( 'src/README.txt', '.' )
( '/mygame/sfx/*.mp3', 'sfx' ),
]
a = Analysis(...
datas = added_files,
...
)
person
Merig
schedule
23.02.2019
если есть несколько файлов txt, первый вариант не сработает, верно? и после редактирования файла спецификации мне нужно повторно запустить команду pyinstaller? или это будет работать независимо от того, находится ли исполняемый файл на той же машине?
- person p0seidon; 24.02.2019
После того, как вы отредактируете его, вы повторно запустите pyinstaller для файла спецификации: pyinstaller myscript.spec
- person Merig; 24.02.2019
при редактировании файла спецификации это абсолютный путь? или относительный путь? прошу прощения за тривиальные вопросы, я новичок во всех файлах упаковки, кроме .py с pyinstaller
- person p0seidon; 24.02.2019
Вы можете использовать относительные пути, начиная с корневого каталога
- person Merig; 24.02.2019
path\to\pyinstaller.exe --onefile hangman.py
- person xilpex   schedule 24.02.2019