Python 仅在另一个文件中导入函数

Python 仅在另一个文件中导入函数,python,import,Python,Import,因此,在我的file1.py中,我有如下内容: def run(): # Do something print "Hi" 现在我想在另一个文件中使用函数run() from file1.py import run 但是,当我执行另一个文件时,它也会打印Hi。如何抑制这种情况?如果不想打印Hi,只需从文件1.py中删除即可 如果希望在调用run()时打印Hi,则将其缩进,使其属于run()函数。在if _uname_uuu==“uu main_u”子句中添加打印“Hi” 当python

因此,在我的
file1.py
中,我有如下内容:

def run():
   # Do something

print "Hi"
现在我想在另一个文件中使用函数
run()

from file1.py import run

但是,当我执行另一个文件时,它也会打印
Hi
。如何抑制这种情况?

如果不想打印Hi,只需从文件1.py中删除即可

如果希望在调用run()时打印Hi,则将其缩进,使其属于run()函数。

if _uname_uuu==“uu main_u”
子句中添加
打印“Hi”

当python导入模块时,它会执行模块中包含的代码以构建模块名称空间。如果将模块作为主脚本运行,
\uuuu name\uuuuuuu
将被分配给
\uuuuuuu main\uuuuuuuu
,并且将执行
If
子句中的代码

由于您没有将脚本作为主脚本运行,
\uuuuuu name\uuuuuuu
将被分配给模块
\uuuuuuu name\uuuuuu
(在本例中为
文件1
),因此此测试将不会成功,并且不会执行
print
语句

def run():
   # Do something

if __name__ == "__main__":
    print "Hi"

在函数之后,应包括以下内容:

这运行程序 如果main==“name”:#在“main”和“name”之前和之后,有两个分数不足! 打印“hi”等