首页 > 解决方案 > 从其他文件导入 Python 函数会执行其他文件

问题描述

当我从 Python 文件中导入一个函数时,我不希望它被整个执行。我只想导入函数。目前,当我导入函数时,会执行 a.py 文件。

一个.py

def func():
    print("inside func")


print("outside func")

b.py

from a import func

func()
print("in B")

输出

outside func
inside func
in B

预期/想要

inside func
in B

标签: pythonpython-3.x

解决方案


将 print 调用包装a.py在 a 中def main():,然后添加

if __name__ == '__main__':
        main()

到 a.py 的底部。这将防止打印被调用,除非a.py直接运行。


推荐阅读