【问题标题】:how to import dictionary from file1.py to file2.py如何将字典从 file1.py 导入到 file2.py
【发布时间】:2019-07-31 10:48:08
【问题描述】:

我在项目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 中的函数中分配的值。

【问题讨论】:

  • 确保您发布代码,这绝对是您的代码。因为您的return 声明来自您的function
  • 无法复制。在这里它可以正常工作。

标签: python python-2.7 import


【解决方案1】:

我假设file2.py 是您的主模块(您将从命令行运行的模块)。然后你应该从file1.py 中删除if __name__ == '__main__': 语句。您的 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

【讨论】:

    猜你喜欢
    • 2019-12-16
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    相关资源
    最近更新 更多