[英]python relative import from same directory doesn't work as expected
我有以下目錄結構:
pkg/
sub1.py
sub2.py
from withing sub1.py 我可以通過以下方式成功導入 sub2: import pkg.sub2
或相對導入為from. import sub2
from. import sub2
但我認為以下相對導入: import.sub2
應該也可以,但它沒有。 我得到一個SyntaxError: invalid syntax
為什么這不起作用?
import
不采用.
這是無效的語法。
在相對導入中始終使用from
關鍵字! 總是! 如果您想單獨使用import
,那么這將是一個abs import
。 只需使用:
import sub2
一般來說,相對進口是有風險的,盡量減少這種進口的使用。
在您的情況下,如果您想以相對方式導入sub2.py
模塊: python 中的正確方法是:
from. import sub2
在您第一次鍵入時from. import sub2
。
再舉一個使用相對進口的例子。 你沒有問,但我發現附上這個例子是正確的:
pkg/
sub1.py
sub2.py
pkg2/
foo.py
假設我在 foo.py 中,我想從 sub1.py 導入class clsTemp
然后以相對方式導入此 class 的正確方法:
from ..sub1 import clsTemp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.