編程——python基礎教程

      網友投稿 757 2022-05-29

      Python基本教程:http://c.biancheng.net/view/4645.html

      Python導入模塊的3種方式(超級詳細)

      在編寫完?Python?模塊之后,如果直接用 import 或 from...import 來導入該模塊,有時并不能正確地加載該模塊。道理很簡單,僅通過我們提供的模塊文件名,Python 無法找到該模塊文件。

      編程其實并不難,就是用合適的語法告訴計算機,讓它幫助完成某個工作。因此計算機能完成的事情,其實都是程序員預先告訴它的。

      通常情況下,當使用 import 語句導入模塊后,Python 會按照以下順序查找指定的模塊文件:

      在當前目錄,即當前執行的程序文件所在目錄下查找;

      到 PYTHONPATH(環境變量)下的每個目錄中查找;

      到 Python 默認的安裝目錄下查找。

      以上所有涉及到的目錄,都保存在標準模塊 sys 的 sys.path 變量中,通過此變量,可以輸出指定程序文件支持查找的所有目錄。因此,如果要導入的模塊沒有存儲在 sys.path 顯示的目錄中,那么導入該模塊并運行程序時,Python 解釋器會拋出 ModuleNotFoundError(未找到模塊)異常。

      為了讓 Python 能找到自定義(或第三方提供) 的模塊,可以用以下 3 種方式來告訴它:

      向 sys.path 中臨時添加模塊文件存儲位置的完整路徑;

      將模塊放在 sys.path 變量中已包含的模塊加載路徑中。

      設置系統環境變量。

      介紹這 3 種方式之前,為了能更方便地講解,本節使用前面章節已建立好的 hello.py 自定義模塊文件(D:\python_module\hello.py)和 say.py 程序文件(C:\Users\mengma\Desktop\say.py),它們各自包含的代碼如下:

      #hello.py def?say?(): print("Hello,World!") #say.py import?hello hello.say()

      導入模塊方式一:臨時添加模塊完整路徑

      模塊文件的存儲位置,可以臨時添加到 sys.path 變量中,即向 sys.path 中添加 D:\python_module(hello.py 所在目錄),在 say.py 中的開頭位置添加如下代碼:

      import?sys sys.path.append('D:\python_module')

      注意:在添加完整路徑中,路徑中的 '\' 需要使用 \ 進行轉義,否則會導致語法錯誤。再次運行 say.py 文件,運行結果如下:

      Hello,World!

      可以看到,程序成功運行。在此基礎上,我們在 say.py 文件中輸出 sys.path 變量的值,會得到以下結果:

      編程——python基礎教程

      ['C:\Users\mengma\Desktop', 'D:\python3.6\Lib\idlelib', 'D:\python3.6\python36.zip', 'D:\python3.6\DLLs', 'D:\python3.6\lib', 'D:\python3.6', 'C:\Users\mengma\AppData\Roaming\Python\Python36\site-packages', 'D:\python3.6\lib\site-packages', 'D:\python3.6\lib\site-packages\win32', 'D:\python3.6\lib\site-packages\win32\lib', 'D:\python3.6\lib\site-packages\Pythonwin',?'D:\python_module']

      該輸出信息中,紅色部分就是臨時添加進去的存儲路徑。需要注意的是,通過該方法添加的目錄,只能在執行當前文件的窗口中有效,窗口關閉后即失效。

      導入模塊方式二:將模塊保存到指定位置

      如果要安裝某些通用性模塊,比如復數功能支持的模塊、矩陣計算支持的模塊、圖形界面支持的模塊等,這些都屬于對 Python 本身進行擴展的模塊,這種模塊應該直接安裝在 Python 內部,以便被所有程序共享,此時就可借助于 Python 默認的模塊加載路徑。

      Python 程序默認的模塊加載路徑保存在 sys.path 變量中,因此,我們可以在 say.py 程序文件中先看看 sys.path 中保存的默認加載路徑,向 say.py 文件中輸出 sys.path 的值,如下所示:

      ['C:\\Users\\mengma\\Desktop', 'D:\\python3.6\\Lib\\idlelib', 'D:\\python3.6\\python36.zip', 'D:\\python3.6\\DLLs', 'D:\\python3.6\\lib', 'D:\\python3.6', 'C:\\Users\\mengma\\AppData\\Roaming\\Python\\Python36\\site-packages',?'D:\\python3.6\\lib\\site-packages', 'D:\\python3.6\\lib\\site-packages\\win32', 'D:\\python3.6\\lib\\site-packages\\win32\\lib', 'D:\\python3.6\\lib\\site-packages\\Pythonwin']

      上面的運行結果中,列出的所有路徑都是 Python 默認的模塊加載路徑,但通常來說,我們默認將 Python 的擴展模塊添加在?lib\site-packages?路徑下,它專門用于存放 Python 的擴展模塊和包。

      所以,我們可以直接將我們已編寫好的 hello.py 文件添加到??lib\site-packages?路徑下,就相當于為 Python 擴展了一個 hello 模塊,這樣任何 Python 程序都可使用該模塊。

      移動工作完成之后,再次運行 say.py 文件,可以看到成功運行的結果:

      Hello,World!

      導入模塊方式三:設置環境變量

      Python 將會根據 PYTHONPATH 環境變量的值來確定到哪里去加載模塊。PYTHONPATH 環境變量的值是多個路徑的集合,這樣 Python 就會依次搜索 PYTHONPATH 環境變量所指定的多個路徑,試圖從中找到程序想要加載的模塊。

      下面介紹在不同平臺上設置環境變量的方式。

      右擊桌面上的“計算機”圖標,出現右鍵菜單;單擊“屬性”菜單項,系統顯示“控制面板\所有控制面板項\系統”窗口,單擊該窗口左邊欄中的“高級系統設置”鏈接,出現“系統屬性”對話框,如圖 1 所示。

      圖 1 系統屬性對話框

      單擊該對話框中“高級” Tab 頁中的“環境變量”按鈕,將看到如圖 2 所示的“環境變量”對話框,通過該對話框可以添加或修改環境變量。

      圖 2 環境變量對話框

      在如圖 2 所示的對話框中,上面的“用戶變量”部分用于設置當前用戶的環境變量,下面的“系統變量”部分用于設置整個系統的環境變量。

      一般建議設置“用戶變量”即可,因為用戶變量只對當前用戶有效,而系統變量對所有用戶有效。為了減少自己所做的修改對其他人的影響,故設置用戶變量。對于當前用戶而言,設置用戶變量和系統變量的效果大致相同,不過系統變量的路徑排在用戶變量的路徑之前。

      單擊用戶變量中的“新建”按鈕, 系統顯示如圖 3 所示的對話框。

      圖 3 新建PYTHONPATH環境變量

      在“變量名”文本框內輸入 PYTHONPATH,表明將要建立名為 PYTHONPATH 的環境變量;在“變量值”文本框內輸入?.;d:\python_ module,這就是該環境變量的值,該值其實包含了兩條路徑(以 ;分隔):

      第一條路徑為一個點(.),這個點代表當前路徑,表明當運行 Python 程序時,Python 總能從當前路徑加載模塊;

      第二條路徑為?d:\python_ module,表明當運行 Python 程序時,Python 總能從?d:\python_ module?加載模塊。

      在成功設置了上面的環境變量之后,接下來只要把前面定義的模塊(Python 程序)放在與當前所運行 Python 程序相同的路徑中(或放在?d:\python_ module?路徑下),該模塊就能被成功加載了。

      啟動 Linux 的終端窗口(命令行界面),進入當前用戶的 home 路徑下,然后在 home 路徑下輸入如下命令:

      ls - a

      該命令將列出當前路徑下所有的文件,包括隱藏文件。Linux 平臺的環境變量是通過 .bash_profile 文件來設置的,使用無格式編輯器打開該文件,在該文件中添加 PYTHONPATH 環境變量。也就是為該文件增加如下一行:

      #設置PYTHON PATH 環境變量

      PYTHONPATH=.:/home/mengma/python_module

      Linux 與 Windows 平臺不一樣,多個路徑之間以冒號(:)作為分隔符,因此上面一行同樣設置了兩條路徑,點(.)代表當前路徑,還有一條路徑是?/home/mengma/python_module(mengma 是在 Linux 系統的登錄名)。

      在完成了 PYTHONPATH 變量值的設置后,在 .bash_profile 文件的最后添加導出 PYTHONPATH 變量的語句。

      #導出PYTHONPATH 環境變量

      export PYTHONPATH

      重新登錄 Linux 平臺,或者執行如下命令:

      source.bash_profile

      這兩種方式都是為了運行該文件,使在文件中設置的 PYTHONPATH 變量值生效。

      在成功設置了上面的環境變量之后,接下來只要把前面定義的模塊(Python 程序)放在與當前所運行 Python 程序相同的路徑中(或放在?/home/mengma/python_module?路徑下),該模塊就能被成功加載了。

      在 Mac OS X 上設置環境變量與 Linux 大致相同(因為 Mac OS X 本身也是類 UNIX 系統)。啟動 Mac OS X 的終端窗口(命令行界面),進入當前用戶的 home 路徑下,然后在 home 路徑下輸入如下命令:

      ls -a

      該命令將列出當前路徑下所有的文件,包括隱藏文件。Mac OS X 平臺的環境變量也可通過,bash_profile 文件來設置,使用無格式編輯器打開該文件,在該文件中添加 PYTHONPATH 環境變量。也就是為該文件增加如下一行:

      #設置PYTHON PATH 環境變盤

      PYTHONPATH=.:/Users/mengma/python_module

      #導出PYTHON PATH 環境變量

      export PYTHONPATH

      重新登錄 Mac OS X 系統,或者執行如下命令:

      source.bash_profile

      這兩種方式都是為了運行該文件,使在文件中設置的 PYTHONPATH 變量值生效。

      在成功設置了上面的環境變量之后,接下來只要把前面定義的模塊(Python 程序)放在與當前所運行 Python 程序相同的路徑中(或放在?Users/mengma/python_module?路徑下),該模塊就能被成功加載了。

      Mac OS Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:NFS掛載常用參數
      下一篇:C++字符串輸入輸出以及復合類型淺談
      相關文章
      亚洲嫩模在线观看| 国产精品无码亚洲精品2021| 亚洲国产精品日韩专区AV| 亚洲伊人久久大香线蕉啊| 久久久久久亚洲AV无码专区| 在线观看亚洲av每日更新| 91麻豆国产自产在线观看亚洲| 亚洲国产精品激情在线观看| 午夜在线亚洲男人午在线| 亚洲aⅴ无码专区在线观看| 亚洲av无码专区在线电影| 亚洲国产成人综合精品| 中文字幕亚洲综合小综合在线| 亚洲国产成人超福利久久精品| 亚洲国产精品美女| 国产成人精品日本亚洲网址 | 麻豆狠色伊人亚洲综合网站| 国产成人精品日本亚洲网址| 亚洲大香人伊一本线| 亚洲人成在线精品| 亚洲一区二区三区播放在线| 亚洲精品国产日韩| 亚洲国产精品网站在线播放| 亚洲欧洲国产综合AV无码久久| 亚洲AV无码成人精品区日韩| 伊人久久亚洲综合影院| 亚洲中文字幕视频国产| 亚洲女久久久噜噜噜熟女 | 亚洲色成人WWW永久在线观看| 亚洲成AV人片高潮喷水| 一本久久综合亚洲鲁鲁五月天 | 亚洲一区二区三区久久| 亚洲日韩精品无码专区| 亚洲欧美国产欧美色欲| 亚洲Av无码国产情品久久| 在线观看亚洲精品国产| 亚洲v高清理论电影| 亚洲福利视频一区二区三区| 亚洲精品午夜国产va久久| 精品久久久久久亚洲中文字幕| 国产精品V亚洲精品V日韩精品|