gpt4 book ai didi

Python - 在不公开内部导入的情况下创建子包

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:29 25 4
gpt4 key购买 nike

我有以下结构:

/api
/v0
api_1.py
api_2.py
/v1
api_1.py
api_2.py

我想这样使用它:

import api

api.v0.api_1.notify_user('1337')

但是,当我执行例如 dir(api.v0.api_1) 时,我不仅会获得 API 方法,还会获得在其中执行的所有导入。我觉得其他开发人员不应该为我在内部使用的东西而烦恼。

我正在考虑的解决方案之一是将 api_1 中的所有内部导入更改为类似的内容:

import collections as _collections

清楚地表明它不是公共(public) API 的一部分。然而,这似乎很奇怪。

我该如何解决这个难题?或者也许我根本不应该打扰,而我想要实现的目标是矫枉过正?

最佳答案

可能您需要在 __init__.py 中导入公共(public)内容。文件结构应该是这样的:

/api
/v0
__init__.py # import public stuff here
api_1.py
api_2.py
/v1
__init__.py
api_1.py
api_2.py

在代码中:

api.v0.notify_user('1337')

关于Python - 在不公开内部导入的情况下创建子包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com