python - 仅当 main 在 python 包中运行时导入包

标签 python import package program-entry-point

我喜欢在我的包底部使用以下代码在 python 中测试我的包:

if __name__ == "__main__":
    sys.exit(main())

其中 main() 是我在上面定义的函数。现在我的问题是:

我需要在我的 main 中导入额外的包来测试我的模块,如果用户只是导入我的模块(即从另一个脚本),则不需要导入这些包。如果我的 main 明确运行,有没有办法只导入这些额外的包?当我的包刚刚导入时(即从另一个脚本),这些额外的包不会被导入。

最佳答案

为什么不将导入语句直接放在 main() 的主体中?应该这样做。

def main():
   import my_module # import ONLY if main is called
   # code

关于python - 仅当 main 在 python 包中运行时导入包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13082704/

相关文章:

python - 使用 pandas 从 wunderground 中抓取天气数据

python - 如何使python自动完成显示匹配?

java - antlrworks中导入数据包的问题

Python 子进程帮助 - 不能使用 shell=true

python - 每行代表混淆矩阵 python 中的哪个标签

Delphi App调试时出现 "No Debug Info"

python - 您如何为具有多个 python 包的项目定义/组织 proto 文件?

java - 无法在包中找到类

python - 异步数据库插入——python + mysql

python - PyQt:如何调整 QTableView header-size/column-width