如何在python中导入a.b?
我尝试使用如何在python中导入a.b?,python,import,Python,Import,我尝试使用\uuuu init\uuuuuuy.py 我的目录: sam@sam-M51Kr:~/code/python$ tree . |-- __init__.py |-- lib | |-- __init.py | |-- sam_lib.py | `-- sam_lib.pyc `-- test.py 1 directory, 5 files sam@sam-M51Kr:~/code/python$ 我所有的\uuuu init\uuuu.py都是空的
\uuuu init\uuuuuuy.py
我的目录:
sam@sam-M51Kr:~/code/python$ tree
.
|-- __init__.py
|-- lib
| |-- __init.py
| |-- sam_lib.py
| `-- sam_lib.pyc
`-- test.py
1 directory, 5 files
sam@sam-M51Kr:~/code/python$
我所有的\uuuu init\uuuu.py
都是空的
我的lib/sam_lib.py
:
k='hello!'
import python.lib.sam_lib
print(sam_lib.k)
from . import lib.sam_lib as sam_lib
print(sam_lib.k)
Mytest.py
:
k='hello!'
import python.lib.sam_lib
print(sam_lib.k)
from . import lib.sam_lib as sam_lib
print(sam_lib.k)
当我跑步时:
sam@sam-M51Kr:~/code/python$ python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
import python.lib.sam_lib
ImportError: No module named python.lib.sam_lib
sam@sam-M51Kr:~/code/python$
它将导致一个错误:
sam@sam-M51Kr:~/code/python$ python test.py
File "test.py", line 1
from . import lib.sam_lib as sam_lib
^
SyntaxError: invalid syntax
sam@sam-M51Kr:~/code/python$
当我修改为:
import lib.sam_lib as sam_lib
print(sam_lib.k)
您的代码在不同级别都是错误的
- 文件
应该是\uuu init.py
\uuu init\uuuu.py
- 在python中,您需要使用对象的相对路径访问对象:当您执行
时 必须使用导入a.b.c
访问a.b.c.x
对象,除非使用c.x
import a、 b.c作为c
import lib.sam_lib as sam_lib
print(sam_lib.k)
请注意,
import python.lib.sam_lib as sam_lib
或from.lib import sam_lib
如果将test.py作为模块导入到import python.test
中,而不是直接运行test.py时,则可以工作。您的代码在不同级别上是错误的
- 文件
应该是\uuu init.py
\uuu init\uuuu.py
- 在python中,您需要使用对象的相对路径访问对象:当您执行
时 必须使用导入a.b.c
访问a.b.c.x
对象,除非使用c.x
import a、 b.c作为c
import lib.sam_lib as sam_lib
print(sam_lib.k)
请注意,如果test.py作为模块导入,如在
import python.test
中从上层目录中的代码导入,而不是直接运行test.py时,import python.lib.sam\u lib作为sam\u lib
或from.lib import sam\u lib
将起作用。它应该是\uu init\uu.py
,不是\uuuu init.py\uuuuu
或\uuuuu init.py
它应该是\uuuuu init\uuuuuuu.py
,而不是\uuuuu init.py