sci*_*tor 5 python import syntax-error
根据python文档,自python 2.5开始支持相对导入和内部包引用。我当前正在运行Python 2.7.3。因此,我尝试在自己的程序包中实现此功能,以便将其用于更简单的导入。我很惊讶地发现它引发了SyntaxError异常,我希望有人可以帮助您找到原因。
我设置了一个测试目录进行测试:
tester
??? __init__.py
??? first_level.py
??? sub
??? __init__.py
??? second_level.py
Run Code Online (Sandbox Code Playgroud)
两个__init__.py模块都为空。其他模块是:
# first_level.py
print "This is the first level of the package"
Run Code Online (Sandbox Code Playgroud)
# sub/second_level.py
import ..first_level
print "This is the second level"
Run Code Online (Sandbox Code Playgroud)
当我尝试导入second_level模块时,出现以下错误:
Python 2.7.3 (default, Aug 1 2012, 14:42:42)
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.57))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Welcome!
>>> import tester
>>> import tester.sub.second_level
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tester/sub/second_level.py", line 1
import ..first_level
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我希望这两行可以一个接一个地打印,但是却引发了异常。那么,我导入错误吗?你还有其它的想法吗。
您不能导入类似的模块。 import ..blah是无效的导入语法。你需要做from .. import first_level。
| 归档时间: |
|
| 查看次数: |
7578 次 |
| 最近记录: |