首页 > 解决方案 > Python - 从模块中仅导入函数

问题描述

我有这两个模块:

foo.py
bar.py

foo.py我有一个fn()声明的函数和一个print('test'), 在fn()上下文之外。

在顶部bar.by,我这样做:

from foo import fn

我可以打电话fn,但我也打印我不想要的“测试”。


为什么?如何仅导入从另一个模块显式导入的内容?

标签: python

解决方案


您应该将 foo.py 重组为:

def fn():
   # statements


if __name__ == "__main__":
    print('test')

现在,当您在其他脚本中从 foo 导入 fn 时,将不会运行打印功能。


推荐阅读