Python Flask 6 0 2 相對路徑

2021-08-09 08:42:41 字數 1799 閱讀 7589

在python引入包時,我們會發現有這樣的一種引用方法:

from . import xx,以及from .. import xx.

這就是相對路徑引用.

其中有幾點需要注意.

1.在編譯時,存在這種相對引用的.py是無法被單獨編譯的,只有在編譯最高端的.py時,才不會報編譯級別錯誤.

2.存在跨資料夾引用時,需要在相應資料夾內建立乙個__init__.py才可以引用成功,(就算該檔案是空的也沒關係)因為加了這個檔案,編譯器才會把該資料夾看做乙個package,即可以用from 資料夾名 import 類/檔案等方式進行引用.

3.在主程式執行後,呼叫每個包時會先呼叫該包的__init__.py檔案,然後再呼叫對應import的內容.

這裡我結合上一節的factory method編寫了乙個簡單的測試程式:

具體目錄結構如下:

--工廠函式/

--tests/

--abc/

--__init__.py

--qb.py

--__init__.py

--test2.py

--test.py(主程)

執行test.py,result:

test.py:

from tests.abc.qb import crete_factory_method

factory_test = crete_factory_method('這是第乙個單元測試')

factory_test2 = crete_factory_method('這是第二個單元測試')

factory_test.print_str()

factory_test2.print_str()

tests/__init__.py:

print("i'm tom's __init__!")
tests/test2.py:

class

mq(object):

def__init__

(self,string_c):

self.config_str=string_c

defprint_str

(self):

print(self.config_str)

tests/abc/__init__.py:

print('由此可知,如果直接編譯qb.py會報錯,因為等級?錯誤,但是直接編譯最頂層的test.py就不會報錯了.')
tests/abc/qb.py:

from ..test2 import mq

defcrete_factory_method

(config_str):

tp=mq(config_str)

return tp

python Flask 擴充套件

flask有兩大核心 werkzeug和jinja2。werkzeug實現路由 除錯和web伺服器閘道器介面。jinja2實現了模板。flask框架是以werkzeug為基礎實現的。werkzeug是乙個遵循wsgi協議的python函式庫。其內部實現了很多web框架底層的東西,比如request和...

起步,Python Flask記錄

首次寫部落格,主要為記錄一下這幾天來一直在學習的乙個python的框架flask。安裝flask需要用到pip或easy install 可選擇是否使用virtuanlenv安裝框架,這種安裝方式需要每次啟動時,都要進入python虛擬環境中。用命令 pip install virtualenv 安...

Python Flask學習報告

from flask import flask defindex return def user name return format name defindex pass from flask import make request response make request response.s...