與Python標準庫模塊命名衝突
Python的一個優秀的地方在於它提供了豐富的庫模塊。但是這樣的結果是,如果你不下意識的避免,很容易你會遇到你自己的模塊的名字與某個隨Python附帶的標準庫的名字衝突的情況(比如,你的代碼中可能有一個叫做email.py的模塊,它就會與標準庫中同名的模塊衝突)。
這會導致一些很粗糙的問題,例如當你想加載某個庫,這個庫需要加載Python標準庫裡的某個模塊,結果呢,因為你有一個與標準庫裡的模塊同名的模塊,這個包錯誤的將你的模塊加載了進去,而不是加載Python標準庫裡的那個模塊。這樣一來就會有麻煩了。
所以在給模塊起名字的時候要小心了,得避免與Python標準庫中的模塊重名。相比起你提交一個“Python改進建議(Python Enhancement Proposal (PEP))”去向上要求改一個標準庫裡包的名字,並得到批准來說,你把自己的那個模塊重新改個名字要簡單得多。
知識點擴充:
python標準庫簡介
文本
string:通用字符串操作
re:正則表達式操作
difflib:差異計算工具
textwrap:文本填充
unicodedata:Unicode字符數據庫
stringprep:互聯網字符串準備工具
readline:GNU按行讀取接口
rlcompleter:GNU按行讀取的實現函數
二進制數據
struct:將字節解析為打包的二進制數據
codecs:註冊表與基類的編解碼器
數據類型
datetime:基於日期與時間工具
calendar:通用月份函數
collections:容器數據類型
collections.abc:容器虛基類
heapq:堆隊列算法
bisect:數組二分算法
array:高效數值數組
weakref:弱引用
types:內置類型的動態創建與命名
copy:淺拷貝與深拷貝
pprint:格式化輸出
reprlib:交替repr()
[火星人 ] Python新手學習標準庫模塊命名已經有218次圍觀