當前位置:成語大全網 - 新華字典 - 在python程序編寫過程中,如何解決模塊名稱沖突?

在python程序編寫過程中,如何解決模塊名稱沖突?

如果妳有兩個同名的模塊,那麽妳只能導人它們中的壹個——默認情況下,Python總是會選擇在模塊搜索路徑sys.path中最左邊的那壹項。如果妳偏愛的模塊和頂層腳本在同壹目錄下,那就不成問題;由於頂層腳本的主目錄總是模塊搜索路徑中的第壹項,因此它的內容總是會首先被自動定位。然而對於跨目錄的導入,模塊搜索路徑的線性本質意味著同名的文件會產生沖突。

要修復這壹沖突,要麽避免同名文件。如果妳需要同時訪問兩個同名的文件,那麽就要把兩個源文件分別放入子目錄中,這樣包導入目錄名稱將使得模塊引用唯壹。只要外圍的包目錄名稱是唯壹的,妳就能訪問同名模塊中的任意壹個,或是全部的兩個。註意,如果妳不小心為自己的模塊使用了壹個名稱,而它碰巧和妳需要使用的標準庫模塊的名稱相同,那麽也會出現這壹問題。這是因為程序主目錄(或是模塊路徑中靠前的另壹個目錄)下的本地模塊會隱藏和替換標準庫模塊。要修復這種覆蓋,要麽避免使用和妳需要的另壹模塊相同的名稱,要麽把模塊放到壹個包目錄下然後使用Python 3.X的包相對導入模型(包相對導入在2.X版本中是壹個可選的功能)。在包相對導入模型下,普通導入會跳過包目錄,因此妳可以獲取標準庫版本,但在必要時特殊的點號開頭導入語句仍然可以選取同名模塊的本地版本。