Скомпилировал приложение на Python. Как задать путь к файлу в скрипте, чтобы он запускался на любом ПК?

Рейтинг: 1Ответов: 2Опубликовано: 03.02.2023

Скомпилировал код в приложение на Python через py2app. По ходу скрипта нужно открыть .txt файл и вытянуть из него инфу:

with open('/Users/projects/Project/credentials.txt', 'r') as file:
    reader = file.read()

Вопрос: если я отправлю приложение на иной ПК (после создания дистрибутива, например), то путь к моему .txt файлу изменится, разумеется. Как решить эту задачу? Как задать путь к файлу, чтобы он запускался на любом ПК?

Ответы

▲ 1

Первое - лучше использовать относительный путь от init.py.

Второе - создать установщик, который будет генерировать независимый от условностей пользователя на windows путь, в котором будет сохранён нужный .txt файл.

▲ 1

Решил вопрос следующим образом. Первый вариант:

import os
file_path_credentials = os.path.join(os.path.dirname(__file__), 'credentials.txt')
with open(file_path_credentials, 'r') as file:
    username = file.read()
    file.close()

Второй вариант:

import os
file_path_username = os.path.abspath('credentials.txt')
with open(file_path_credentials, 'r') as file:
    username = file.read()
    file.close()

Всем спасибо за наводки!