如何在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)
My
test.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