我有以下文件(X:\ somepath \ somefile):
# This is a file containing default values
# It contains variables that users can change
val_1 = 123
val_2 = 456
print(val_1)
如何将这些变量放入一个如下所示的python脚本中:
@session.defButton('button name') # 3rd party thing
def stuff():
file_name = 'X:\\somepath\\somefile'
exec(open(file_name, 'r').read()) # I used to use execfile(file_name) in 2.4
print(val_2)
它打印val_1但不打印val_2。这是我得到的错误
NameError: global name 'val_2' is not defined
如何在exec()函数之外定义它,还是有更正确的方法从外部文件中获取变量?我不知道全局/本地人需要在字典中使用什么格式。
答案 0 :(得分:1)
首先,请检查是否由于某个文件中的print(val_1)语句而打印了val_1,因为您对其内容运行了exec
此外,您可以尝试使用路径中的正斜杠替换反斜杠(将\\更改为/)