如何在Python中从文件加载变量

时间:2018-07-30 07:21:28

标签: python

说有一个变量

x = "/real/path/"

在文本文件“ setting.txt”内部,而在config xml文件中“ config.xml”包含标签

<root>    
    <setting>setting.txt</setting> 
    ......
</root>

在我的Python脚本test.py中,我想这样做:

import xml.etree.ElementTree as ET
import os

x = "/path/placeholder"    

def load_global_setting_from_config_xml(in_xml):
    tree = ET.parse(in_xml)
    root = tree.getroot()
    config_node = root.find("setting")
    if config_node is not None:
        config_file_path = config_node.text
        if os.path.exists(config_file_path):
           execfile(config_file_path) # looks not working

load_global_setting_from_config_xml("config.xml")
print(x) #expected output is /real/path

它看起来execfile()不起作用。

1 个答案:

答案 0 :(得分:0)

作为原始execfile()的解决方案, 在this answer中,如果修改一行:

execfile(config_file_path)

execfile(config_file_path, globals())

然后它将按预期工作。