我不能使用def main()- 解决方案Module 1代替if __name__ == '__main__',因为该模块有几个类和函数连接到Class_1 in Module 1只适用于print('I am:', __name__) and if __name__ == '__main__':.
所以我的问题是如何调用 main:if __name__ == '__main__' from Class_1() in function1 in Class_2() in Module 2?
Module 1
print('I am:', __name__)
class Class_1():
....code...
# calling everything in the module that
if __name__ == '__main__':
Module 2
# if __name__ == '__main__' from Module 1 should be called in function 1
class Class_2():
.... code..
def function1:
--- calling main if __name__ == '__main__' from Module 1
The if __name__ == '__main__'主要用于使单个Python脚本可执行。例如,您定义了一个执行某些操作的函数,通过导入并运行它来使用它,但您还希望在运行 python 脚本时执行该函数python module1.py.
### module1.py:
def main():
# does something
...
if __name__ == '__main__':
main()
### module2.py:
from module1 import main as main_from_module_one
if __name__ == '__main__':
main_from_module_one() # calling function main defined in module1