如果我用一个简单的例子来解释这种情况会更好,我有一个文件,里面有一些字典,比如这个例子:
文件1:
dict1 = {"a": "dictA", "b": "dictB"}
dictA = {1: 100, 2:200 }
文件2:
import file1
mydict = file1.dict1["a"] #will be string "dictA"
print file1.mydict #here AttributeError:
当我尝试时:
print file1.mydict
输出只是:
dictA
我也试过:
import file1
print file1.file1.dict1["a"] #here AttributeError again:
我想从file1打印dictA,但显然python找不到mydict,我也尝试了以下方法:
有办法找到第二本词典吗? 谢谢
方法1
修改文件1:
尝试:
方法2
不要修改文件1。使用eval()函数按变量名获取变量的值。你知道吗
在第一个例子中:
您正在处理在
file1
中定义的内容,这些内容来自file2
。因此,当你做mydict = file1.dict1["a"]
时,你在file2
中得到一个mydict
,而不是在file1
。所以你应该可以这样打印出来:注意print语句中缺少
file1.
。这是因为mydict
是在file2
中创建的,并且没有写入file1
。你知道吗在第二个例子中:
file1
中没有定义任何名为file1
的内容。如果在file1
中确实有这样一个对象,它有一个名为dict1
的属性,那么该调用将不会出错。你知道吗相关问题 更多 >
编程相关推荐