python的搜索路徑與包(package)


python的搜索路徑其實是一個列表,它是指導入模塊時,python會自動去找搜索這個列表當中的路徑,如果路徑中存在要導入的模塊文件則導入成功,否則導入失敗:

>>> import sys
>>> sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']
>>> import TemperatureConversion
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    import TemperatureConversion
ImportError: No module named 'TemperatureConversion'
>>> sys.path.append('E:\\python')
>>> sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages', 'E:\\python']
>>> import TemperatureConversion
>>> TemperatureConversion.c2f(0)
32.0
>>> 

注意:上述的TemperatureConversion模塊在本地磁盤的E:\python文件夾下,該模塊有c2f()與f2c()兩個函數。

python的包是為了更好地組織代碼模塊,說白了包其實就是用一個文件夾把相關的模塊都放在這個文件夾下。包的創建需要滿足以下3個步驟:
1.創建一個文件夾,用於存放相關的模塊,文件夾的名字即包的名字;
2.在文件夾中創建一個__init__.py的模塊文件,文件內容可以為空;
3.強相關的模塊放入文件夾中。

那么,被放到包中的模塊該如何導入呢?其實是很簡單的,即“import 包名.模塊名 as 別名”就可以了。假設我們將上述的TemperatureConversion模塊放到一個名叫testpackage的包中,要導入該模塊的話,只需要執行“import testpackage.TemperatureConversion as tc”即可。

 

>>> import testpackage.TemperatureConversion as tc
>>> tc.c2f(0)
32.0
>>> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM