如何将字典从file1.py导入到file2.py

时间:2019-07-31 10:48:08

标签: python python-2.7 import

我在项目file1.py和file2.py中有两个python文件。 运行代码后,file1中的python字典获取值。在此之前,它是空的。我想要那个字典在file2中。

我试图通过from file1 import dictionary导入该词典, 但它的输出是空白字典。

file1.py

def function(f_act)
    some code that adds values to dictionary
return f_act

if __name__ == '__main__':
    f_act = defaultdict(dict)
    f_act = function(f_act)

file2.py

import file1

if __name__ == '__main__':
    print file1.f_act

如果我单独运行file1,则字典将输出值,但是在导入时,字典为空白。我还尝试将if __name__ == '__main__':更改为if __name__ == '__file1__':。打印时词典仍然为空白。

最初,字典是空白的。字典应打印在file1的函数中分配的值。

1 个答案:

答案 0 :(得分:2)

我假设file2.py是您的主要模块(将从命令行运行的模块)。然后,您应该从if __name__ == '__main__':中删除file1.py语句。您的file1.py应该只包含字典,或者应包含用于填充字典的函数。

# file1
def populate_dictionary(d):
    pass

,然后从file2中使用以下命令导入该函数:

from .file1 import populate_dictionary

if __name__ == '__main__':
    f_act = default_dict(dict)
    print(populate_dictionary(f_act)

另一种解决方案是在file1内创建字典并将字典导入file2

from .file1 import f_act