Как заставить pyinstaller exe брать актуальные данные с py файла
У меня есть main.exe скомпилированный с помощью pyinstaller.
в файле main.py(main.exe) есть такие строки:
import config
while memu_counter < config.memu_restart_counter:
...
Так же, есть файл config.py, в котором находиться переменная:
memu_restart_counter = 20
Я хочу в дальнейшем изменять memu_restart_counter, но exe запоминает только одно значение перед сборкой. Как можно сделать, чтобы можно было каждый раз обновлять данные?
Ответы (1 шт):
Вы можете решить эту проблему, создав отдельный файл, который будет хранить данные конфигурации. Вместо того, чтобы хранить данные конфигурации в самом main.py, вы можете хранить их в файле, например, config.txt и прочитать их в main.py каждый раз при запуске программы. Например config.txt:
memu_restart_counter = 20
main.py
def read_config():
with open("config.txt", "r") as f:
data = f.readlines()
config = {}
for line in data:
key, value = line.strip().split("=")
config[key.strip()] = int(value.strip())
return config
config = read_config()
memu_counter = 0
while memu_counter < config["memu_restart_counter"]:
# do something
memu_counter += 1
Теперь, когда вы измените memu_restart_counter в config.txt, изменения будут видны в main.py при каждом запуске.