从另一个modu导入函数

2024-10-03 21:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将名为ret()的函数从名为mainprog的模块导入名为windw的另一个模块

所以我在windw模块中这样做:

from mainprog import ret

这应该行得通吧?
但是mainprog模块中有一个无限循环。
因此,即使不调用我导入的函数,当我尝试运行windw模块时,它也会一直保持加载状态

所以我猜当我导入时它会运行整个mainprog模块?我需要帮助来避免这种情况


Tags: 模块函数fromimport状态情况ret行得通
2条回答

您必须确保文件mainprog.py除了函数、常量和^{} guard的定义之外,没有其他内容

如果您还有其他类似的定义:

do_something()
def ret():
    ...

请确保将其转换为:

def ret():
    ...
if __name == '__main__':
    do_something()

你做得很好,你需要做的就是让循环不执行,除非你自己运行代码。你需要做的是添加一个

if __name__ == '__main__':
    while True: 

这将使您的程序像以前一样工作,但可以在代码中导入函数

相关问题 更多 >