Python IDLE:运行main?

Nic*_*ner 5 python python-idle runpy

我在闲聊:

>>> import mymodule
>>> # ???
Run Code Online (Sandbox Code Playgroud)

导入模块后:

if __name__ == '__main__':
    doStuff()
Run Code Online (Sandbox Code Playgroud)

我如何实际main从IDLE 打电话?

Car*_*bés 12

if条件on __name__ == '__main__'表示在模块直接执行时运行的代码,而不是在导入模块时运行.实际上没有像Java这样的"主要"概念.解释Python时,在导入/运行模块时会读取并执行所有代码行.

Python __name__为您提供了一种机制,可以将导入案例与将模块作为脚本运行时的情况区分开来,即python mymodule.py.在这第二种情况下__name__将具有价值'__main__'

如果你想要一个可以运行的main(),只需写:

def main():
   do_stuff()
   more_stuff()

if __name__ == '__main__':
   main()
Run Code Online (Sandbox Code Playgroud)


joa*_*uin 1

我想您正在将您所拥有的称为“主要” if __name__ == '__main__'。所以称呼它为:

>> import mymodule
>> mymodule.doStuff()
Run Code Online (Sandbox Code Playgroud)

否则,如果你的模块中实际上有一个 main 函数,那么,

>> import mymodule
>> mymodule.main()
Run Code Online (Sandbox Code Playgroud)