所以在我的 file1.py
中,我有类似的内容:
def run():
# Do something
print "Hi"
现在我想在另一个文件中使用函数run()
。
from file1.py import run
但是,当我执行另一个文件时,它也会打印 Hi
。我该如何抑制这种情况?
最佳答案
在 if __name__ == "__main__"
子句中添加 print "Hi"
。
当 python 导入模块时它会执行其中包含的代码以构建模块命名空间。如果您将模块作为主脚本运行,则 __name__
将被分配给 __main__
并且 if
子句中的代码将被分配被执行。
由于您没有将脚本作为主脚本运行,因此 __name__
被分配给模块 __name__
(在本例中为 file1
)因此,此测试将不会成功,并且 print
语句不会被执行。
def run():
# Do something
if __name__ == "__main__":
print "Hi"
关于python - 仅在另一个文件中导入功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35250774/