每乙個.py檔案稱為乙個module,module之間可以互相匯入.請參看以下例子:
# a.py
def add_func(a,b):
return a+b
# b.py
from a import add_func # also can be : import a
print ("import add_func from module a")
print ("result of 1 plus 2 is: ")
print (add_func(1,2)) # if using "import a" , then here should be "a.add_func"
module可以定義在包裡面.python定義包的方式稍微有點古怪,假設我們有乙個parent資料夾,該資料夾有乙個child子資料夾.child中有乙個module a.py . 如何讓python知道這個檔案層次結構?很簡單,每個目錄都放乙個名為_init_.py 的檔案.該檔案內容可以為空.這個層次結構如下所示:
parent
--__init_.py
--child
-- __init_.py
--a.py
b.py
那麼python如何找到我們定義的module?在標準包sys中,path屬性記錄了python的包路徑.你可以將之列印出來:
import sys
print(sys.path)
通常我們可以將module的包路徑放到環境變數pythonpath中,該環境變數會自動新增到sys.path屬性.另一種方便的方法是程式設計中直接指定我們的module路徑到sys.path 中:
import sys
import os
print(sys.path)
from a import add_func
print (sys.path)
print ("import add_func from module a")
print ("result of 1 plus 2 is: ")
print (add_func(1,2))
知識點:
如何定義模組和包
如何將模組路徑新增到系統路徑,以便python找到它們
如何得到當前路徑
ubuntu包管理機制
在使用apt get install 和 apt get update時,系統會先掃瞄 etc apt 目錄下的所有的源倉庫檔案。該目錄下包含兩種型別的檔案,源倉庫檔案source.list和gpg秘鑰。其中source.list是ubunut官方的源倉庫檔案。souce.list檔案的結構如下所示...
Linux軟體包管理機制
1 紅帽系作業系統軟體管理分類 yumrpm source bin2 rpm工具管理rpm軟體包 2.1 認識rpm軟體包 rpm軟體包名稱 軟體名稱 版本號 主版本 次版本 修訂號 作業系統 cpu平台 作業系統 el6 el5 fedora suse debin ubuntu cpu平台i386...
Debian和Gentoo包管理機制比較及延伸
如果你現在想安裝一套linux,又不想隨著linux發行版本的版本號,不停的格式化系統,重新安裝,或者公升級安裝。那麼,最適合你的只有lfs debian和gentoo。本文嘗試對debian gentoo的包管理機制進行比較,並由此得出了幾個有趣的結論。本文對於debian gentoo的包管理,...