簡體   English   中英

python 從同一目錄的相對導入不能按預期工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM