[英]How to import a.b in python?
我嘗試使用__init__.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$
我所有的__init__.py
都是空的。
我的lib/sam_lib.py
:
k='hello!'
我的test.py
:
import python.lib.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$
如何使用語法import xx
解決它?
我應該使用__init.py__
嗎?
==============================
我將lib/__init.py
修改為lib/__init__.py
我嘗試修改test.py
:
from . import lib.sam_lib as sam_lib
print(sam_lib.k)
它將導致錯誤:
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)
您的代碼在不同級別上是錯誤的
__init.py
應該是__init__.py
import abc
,必須使用abcx
訪問cx
對象,除非您將import abc as c
要修復代碼,請使用:
import lib.sam_lib as sam_lib
print(sam_lib.k)
請注意,如果將test.py作為模塊import python.test
從上層目錄中的代碼from .lib import sam_lib
中import python.lib.sam_lib as sam_lib
或from .lib import sam_lib
將起作用,而不是在運行test.py時直。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.