如何动态更新配置文件中的变量列表到python exe文件

时间:2018-02-21 08:01:55

标签: python pyinstaller

我有一个使用pyinstaller转换为exe的python文件 但是我需要从另一个要更新的文件中获取数据,而不需要执行其他pyinstaller,就像从配置文件中获取数据到exe一样

from configfile import variables

variables从configfile.py文件加载但转换为exe后我无法更新configfile.py变量

欢迎任何建议

1 个答案:

答案 0 :(得分:0)

函数从python配置文件更新并在exe环境外动态加载

import os
extDataDir = os.getcwd()
ext_config = os.path.join(extDataDir, '', 'configfile.py')


def importCode(code,name,add_to_sys_modules=0):
    import sys,imp

    module = imp.new_module(name)

    exec(code,module.__dict__)
    if add_to_sys_modules:
        sys.modules[name] = module

    return module

configfile_rd = open(ext_config, "r")
configfile_code = configfile_rd.read()
configfile = importCode(configfile_code,"configfile") #dynamically readed the config file from exe and execute the python file configfile.py and working as well as import configfile

constant = configfile.variables()