Python中文
首页
教程
问答
标签
搜索
登录
注册
python 2.5中的相对导入
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我知道Python中同样的导入问题有很多问题,但似乎没有人能够提供正确使用的清晰示例</p> <p>假设我们有一个包<code>mypackage</code>,包含两个模块<code>foo</code>和<code>bar</code>。在<code>foo</code>内部,我们需要能够访问<code>bar</code></p> <p>因为我们还在开发它,<code>mypackage</code>不在<code>sys.path</code></p> <p>我们希望能够:</p> <ul> <li>导入<code>mypackage.foo</code></li> <li>将<code>foo.py</code>作为脚本运行,并从<code>__main__</code>部分执行示例用法或测试</李> <li>使用Python 2.5</li> </ul> <p>我们必须如何在foo.py中进行导入,以确保它在所有这些情况下都能工作</p> <pre><code># mypackage/__init__.py ... # mypackage/foo/__init__.py ... # mypackage/bar.py def doBar() print("doBar") # mypackage/foo/foo.py import bar # fails with module not found import .bar #fails due to ValueError: Attempted relative import in non-package def doFoo(): print(doBar()) if __name__ == '__main__': doFoo() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我的解决方案看起来更干净,可以与所有其他导入一起位于顶部:</p> <pre><code>try: from foo import FooClass except ModuleNotFoundError: from .foo import FooClass </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
7 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
1 回答
在Python3中使用Script=argv
1 回答
在python3中使用selenium webdriver进行未解析的回溯
1 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
6 回答
在Python3中使用Selenium和Requests模块从网页获取文件
1 回答
在python3中使用SIGINT终止函数
4 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
8 回答
在python3中使用smtplib发送XML内容
9 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
6 回答
在python3中使用sounddevice和numpy编写wav文件
4 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
5 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
6 回答
在python3中使用SQLite的FTS3/4
9 回答
在Python3中使用struct.calcsize()和len()有区别吗?
8 回答
在python3中使用substring函数时发生TypeError
1 回答
在Python3中使用Tkinter entry小部件写入串行设备
1 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
3 回答
在python3中使用tkinter的子帧
9 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
9 回答