通过python中的dict值从另一个文件变量

时间:2014-07-30 22:41:34

标签: python dictionary

如果我用一个简单的例子来解释这种情况会更好,我有一个文件包含一些像这个例子的字典:

文件1:

dict1 = {"a": "dictA", "b": "dictB"}
dictA = {1: 100, 2:200 }

file2的:

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:

我得到了AttributeError我想从file1打印dictA,但显然python无法找到mydict,我也是这样尝试的:

有没有办法进入第二本字典? 感谢

2 个答案:

答案 0 :(得分:2)

在你的第一个例子中:

您正在file1内处理file2中定义的内容。因此,当您执行mydict = file1.dict1["a"]时,您会在mydict中获得file2,而不是file1。所以你应该能够像这样打印出来:

import file1
mydict = file1.dict1["a"]  #will be string "dictA"
print mydict

请注意那里的print语句中缺少file1.。这是因为mydict是在file2内创建的,不会写入file1

在你的第二个例子中:

file1内没有定义任何名为file1的内容。如果你确实在file1中有这样一个对象,它有一个名为dict1的属性,那么该调用可以正常运行。

答案 1 :(得分:1)

方法1

修改file1:

dictA = {1: 100, 2:200 }
dict1 = {"a": dictA, "b": dictB}

尝试:

import file1
mydict = file1.dict1["a"]

方法2

不要修改文件1.使用eval()函数按名称获取变量的值。

mydict = eval('file1.' + file1.dict1["a"])