例如,参加a.py
stringcheese = "hi"
print("I don't want this printed")
现在是b.py:
from a import stringcheese
print(stringcheese)
输出结果为:
I don't want this printed
hi
如何在不执行stringcheese
代码的情况下导入a.py
?
答案 0 :(得分:3)
你做不到。必须执行模块的顶级代码才能使模块首先加载。
只将可执行语句放在模块的顶层,以便在导入时执行。
答案 1 :(得分:-1)
POSUM SHREDER,您可以使用if __name__ == '__main__'
构造隐藏未导入的可执行文件,如果您调用python a.py
,它们仍会被执行。
a.py
stringcheese = "hi"
if __name__ == '__main__' :
print("I don't want this printed")
main.py
from a import stringcheese
print(stringcheese)
有关详细信息,请阅读What does if __name__ == "__main__": do?