python管理包路徑之pycharm自動解決包路徑注冊_第1頁
python管理包路徑之pycharm自動解決包路徑注冊_第2頁
python管理包路徑之pycharm自動解決包路徑注冊_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第python管理包路徑之pycharm自動解決包路徑注冊目錄簡介模塊化模塊導入包

簡介

Python是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。你可以將它理解成腳本語言,大多情況我也是將它作為寫腳本工具的一個方式。python目前存在python2和python3兩個大版本,至于他們的區(qū)別我們沒必要深究,很多新的特性都是在python3中引入的,另外python2已經停止維護了,所以該選擇誰你應該清楚了。

模塊化

我們在學習一門語言的時候可以將所有的demo放在同一個文件夾,這樣方便相互查找,但是在企業(yè)級的項目中往往會出現很多功能,正常會根據功能進行分包管理,在大的項目中更有可能分模塊管理,不管是分包還是分模塊都需要注意一個問題就是如何引用的問題,python會默認在當前腳本所在文件夾下尋找所需模塊,如果當前沒有會去其他系統(tǒng)管理模塊的地方進行尋找,很明顯我們自己的分包分模塊的自然不會被找到,這就需要我們進行相應的處理。不僅僅是python語言中,模塊這個概念是凌駕于語言之上,大體上應該分為三類內置模塊,在python中我們可以通過help(modules)來查看所有的內置模塊

-第三方模塊,就是別人封裝的工具,python中可以通過`pipinstall`,Java中通過Maven管理安裝。-剩下的就是我們自定義模塊了,不是所有牛奶都是特侖蘇,也不是所有人封裝的都叫做第三方模塊,我們個人的封裝局限很大僅使用我們自己的項目。

模塊導入

模塊導入也很方便,除了第三方模塊我們需要通過包管理工具安裝一下才能導入,其他模塊我們都可以直接導入。

importmodule_a:導入module_a模塊frommodule_bimportmodule_b_child:從module_b導入他的方法或者導入他的子模塊importmodule_castom_util:重命名導入的模塊frommodule_tomimport*:導入module_tom下所有模塊

現在項目中存在兩個目錄分別為core、user,core目錄中存在的token_util.py是我們獲取web開發(fā)中登錄token的,而user目錄下則是管理用戶的腳本,這個時候user_util.py依賴與token_util.py,那么我們就需要importtoken_util。

果不其然出現了經典的Nomodulenamedtoken_util,上面我已經說了他只會去尋找默認當前路徑和系統(tǒng)模塊路徑的,更換項目結構是不可能的,那么我們該如何引入token_util呢?

importsys

print(sys.path)

sys.path.append('../core')

importtoken_util

通過sys模塊將module模塊管理路徑打印就能發(fā)現只有全局的和當前路徑,我們可以將我們需要引入的包的路徑注冊到模塊管理路徑中,這樣我們就可以引用了。

上面導入自定義模塊顯得很麻煩,隨著項目成長會分很多文件夾用來表示不同功能,這里文件夾就是包的概念。但是文件夾和包還是不太一樣的。只需要在文件夾下存在一個__init__.py就會變成包了。這個文件就是你在調用包中模塊是自動調用,這個文件內容可以為空哦好像有了包的概念還是解決不了上面手動導入的問題,沒錯這里始終逃不掉需要手動導入的,我們可以將項目的根路徑導入到系統(tǒng)路徑中,這樣我們在導入模塊是只需要從根路徑出發(fā)導入即可。我們可以寫個腳本獲取跟路徑并注冊到系統(tǒng)路徑中

importos

importsys

base_dir=os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.pa

th.dirname(os.path.abspath(__file__))))))#取到路

徑/Users/alex/Documents/work/PyProjects/py8days_camp

print(base_dir)

sys.path.append(base_dir)#添加到sys.path?

如果你還是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論