簡體   English   中英

Python導入-句點前的當前軟件包名稱?

[英]Python imports - current package name before period?

flask教程中 ,使用以下包結構:

yourapplication/__init__.py
yourapplication/simple_page.py

現在,在__init.py ,完成以下導入:

from yourapplication.simple_page import simple_page

任何人都可以向我解釋為什么yourapplication. 在那兒? 我以為你可以

from .simple_page import simple_page

誰能向我解釋為什么您的申請在申請之前。 在那兒?

這樣做是為了告訴您yourapplication是項目的基礎,從那里開始工作。 它對項目路徑是絕對的,並將您的應用程序作為源目錄。

但是,如果不使用此方法,並且像from .simple_page import simple_page那樣使用相對導入,則如果簡單頁面文件被刪除並重構到其他文件夾和__init__文件中,那么它將變得難以調試。

from yourapplication.simple_page import simple_page這種方式將說明項目的完整結構,並且所有導入都是從源目錄級別進行的,這使得稍后階段的重構很容易。

總的來說:一句話只是維護,擴展項目。

您可以相對導入和絕對導入,使用這種方法可以告訴整個項目結構,並且在重構時間中,如果項目設計發生更改,則重構代碼要花費一些時間,相比之下,相對導入重構所需的時間更少

點表示當前的直接工作方式,因此在import語句中的python代碼中,程序員在腳本語句之前使用點。 在您的情況下,您的包名稱是您的應用程序,因此您可以在import語句中使用點。

yourapplication/simple_page.py yourapplication/__init__.py dot = yourapplication

from .simple_page import simple_page

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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