首页 > 解决方案 > 从另一个模块导入的 Python 脚本

问题描述

我有一个mymodyle.py模块,其中包含一个名为main

def main(event):
    parser = Parse(event)
    parsed_event = parser.parse()
    return parsed_event

if __name__ == '__main__':
    event = "ABCD"
    main(event)

该函数将从另一个模块调用:

import mymodule

并且该main函数将通过调用mymodule.main(event)- 它将事件作为参数传递给mymodule模块的主函数。

如果我从另一个模块运行它,我是否需要在最后添加 dunder,因为它无论如何都不会被调用:

if __name__ == '__main__':
        event = "ABCD"
        main(event)

另一个问题:我是否需要添加else从另一个模块调用的假设?

if __name__ == '__main__':
            event = "ABCD"
            main(event)
else:
    //DO SOMETHING

标签: python

解决方案


如果我从另一个模块运行它,我是否需要在最后添加 dunder,因为它不会被调用?

如果您希望您的模块既是“库”(import mymodule)又python -m mymodule使用例如or运行您的模块python mymodule.py,那么可以。

另一个问题:考虑到它将从另一个模块调用,我是否需要添加 else ?

不,除非您只想在您的模块是从另一个模块导入时才做某事。这是非常罕见的。


推荐阅读