说有一个变量
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()不起作用。
答案 0 :(得分:0)
作为原始execfile()的解决方案, 在this answer中,如果修改一行:
execfile(config_file_path)
到
execfile(config_file_path, globals())
然后它将按预期工作。