我正在使用Python 3.3.2,我希望我的代码采用字符串,并使用它在另一个文件中查找具有相同名称的变量。
E.g。
File1.py包含:
global A1
A1 = ['Plain']
global A2
A2 = ['Beach']
global A3
A3 = ['Swamp']
和File2.py包含:
import File1
coords = A1
location = eval(coords)
但无论我如何格式化我拥有的东西;我总是得到错误:
Traceback (most recent call last):
File "G:/Python/evaltest.py", line 2, in <module>
startLocation = A1
NameError: name 'A1' is not defined
我知道错误本身就是一个排序问题,但我不知道在告诉字符串之前我怎么调用变量?
答案 0 :(得分:1)
您可能需要执行coords = File1.A1
答案 1 :(得分:1)
在File1中使用字典,然后将其收集到File2
中File1内容:
d = {'A1':['Plain'], 'A2':['Beach'], 'A3':['Swamp']}
File2内容:
from File1 import d
coords = 'A1'
location = d[coords]
答案 2 :(得分:0)
尝试:
coords = File1.A1
原因是python访问这个变量引用文件名。