相关疑难解决方法(0)

任何人都可以解释python的相对进口吗?

我不能为我的生活得到python的相对导入工作.我创建了一个它不起作用的简单示例:

目录结构是:

/__init__.py
/start.py
/parent.py
/sub/__init__.py
/sub/relative.py
Run Code Online (Sandbox Code Playgroud)

/start.py 仅包含: import sub.relative

/sub/relative.py 只包含 from .. import parent

所有其他文件都是空白的.

在命令行上执行以下操作时:

$ cd /
$ python start.py
Run Code Online (Sandbox Code Playgroud)

我明白了:

Traceback (most recent call last):
  File "start.py", line 1, in <module>
    import sub.relative
  File "/home/cvondrick/sandbox/sub/relative.py", line 1, in <module>
    from .. import parent
ValueError: Attempted relative import beyond toplevel package
Run Code Online (Sandbox Code Playgroud)

我使用的是Python 2.6.为什么会这样?如何使这个沙盒示例工作?

python

165
推荐指数
2
解决办法
10万
查看次数

Python相对导入有两个以上的点

可以使用在路径中引用两个以上点的模块吗?像这个例子:

# Project structure:
# sound
#     __init__.py
#     codecs
#         __init__.py
#     echo
#         __init__.py
#         nix
#             __init__.py
#             way1.py
#             way2.py

# way2.py source code
from .way1 import echo_way1
from ...codecs import cool_codec

# Do something with echo_way1 and cool_codec.
Run Code Online (Sandbox Code Playgroud)

UPD:更改了示例。我知道,这将在实践中起作用。但这是一种常见的导入方法吗?

python coding-style python-import python-3.4

7
推荐指数
2
解决办法
2283
查看次数

标签 统计

python ×2

coding-style ×1

python-3.4 ×1

python-import ×1