python - 仅在另一个文件中导入功能

标签 python import

所以在我的 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/

相关文章:

python - 如何解决无限循环导入?

python - 如何从该类包含的类中导入类

python - 不使用进口机器访问模块 'sys'

python - Python 正则表达式中的 Format()

python - 在某些字符周围填充

python - twisted.protocols.basic.LineReceiver 和 twisted.internet.protocol.Protocol 有什么区别?

java - 在 Android 项目中使用常规 Java 库

javascript - 使用 JavaScript 的 FileReader 接口(interface)检测文件的内容类型

WordPress: "The link you followed has expired"问题

python - 从文件中读入矩阵,生成边列表,并将边列表写入文件