考虑以下两个文件:
test.py:
import sys
def testfunction(string):
print(string)
sys.exit(0)
test2.py:
from test import testfunction
testfunction("string")
我希望导入testfunction不要执行该函数之外的语句,例如sys.exit(0)。为什么会发生这种情况,我该如何预防呢?
答案 0 :(得分:2)
很简单:
# test.py
import sys
def testfunction(string):
print(string)
if __name__ == "__main__":
sys.exit(0)
魔术变量__name__
设置为模块名称(当文件作为模块导入时)或"__main__"
作为脚本执行时。
答案 1 :(得分:0)
把你想做的所有事情都放在
的条件下if __name__ == '__main__':
...
sys.exit(0)