Python中文
首页
教程
问答
标签
搜索
登录
注册
如何处理既属于“公共接口”又属于“内部使用”的Python包内容?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在将一些单文件Python模块重构为多文件包,并且反复遇到相同的问题模式:我有属于包的<strong>公共接口的对象,但包的子模块也必须在内部使用这些对象</p> <pre><code>mypackage/ __init__.py # <--- Contains object 'cssURL' views.py # <--- Needs to use object 'cssURL' </code></pre> <p>在这种情况下,<code>mypackage</code>的客户机访问<code>mypackage.cssURL</code>是很重要的。但是,我的子模块<code>views.py</code>也需要它,但是无法访问<code>__init__.py</code>的内容。当然,我可以创建另一个子模块,如下所示:</p> <pre><code>mypackage/ __init__.py views.py style.py # <--- New home for 'cssURL' </code></pre> <p>但是,如果我每次都这样做,子模块的数目似乎会成倍增加。此外,客户机现在必须将<code>mypackage.cssURL</code>称为<code>mypackage.style.cssURL</code>,否则我必须在<code>__init__.py</code>中创建一个同义词,如下所示:</p> <pre><code>import style cssURL = style.cssURL </code></pre> <p>我想我做错了什么。有没有更好的方法来处理同时属于<strong>公共接口<strong>和<strong>内部使用的包成员</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以将当前包称为<code>.</code>:</p> <pre><code># views.py from . import cssURL </code></pre> <p>有关详细信息,请参见<a href="https://docs.python.org/2/tutorial/modules.html#intra-package-references" rel="nofollow">here</a></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
1 回答
如何在乒乓球游戏中阻止球
10 回答
如何在乘法和模中不乘空间?
1 回答
如何在乘法和除以2个不同的数字之间进行交换?
6 回答
如何在也是数据一部分的单个字符上拆分大字符串
2 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
8 回答
如何在事件wxWidgets中传递自定义数据
6 回答
如何在事件中使用lambda i=i?
1 回答
如何在事件中心只接收最近的数据
9 回答
如何在事件发生之前保持云函数运行?
2 回答
如何在事件发生后使页面重定向到同一页面
5 回答
如何在事件回调之间保持python生成器的状态
3 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
1 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
6 回答
如何在事件处理程序中访问外部对象?
10 回答
如何在事件循环中将协程打包为正常函数?
2 回答
如何在事件循环之外运行协同程序?
7 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
4 回答
如何在事件文件中只保留一份摘要?
9 回答
如何在事件模板中添加事件
6 回答