所以在我file1.py
,我有这样的:导入功能在另一个文件
def run():
# Do something
print "Hi"
现在我想在另一个文件中使用函数run()
。
from file1.py import run
但是,当我执行其他文件时,它还打印Hi
。我如何压制这一点?
所以在我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"
,如果你不想被打印嗨,只需从file1.py
删除,如果你想在运行时(要打印喜)被调用的,那么它属于运行它缩进()函数。
你应该包括的功能在此之后:
如果主要 == “名”:#之前和之后的 '主' 和 '名'有两个under_scores! 打印“嗨”等...