麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python模塊搜索路徑

python模塊搜索路徑

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 14:20:46 1699338046

在a.py中導入模塊b的時候,python會做一系列的模塊文件路徑搜索操作:b.py在哪里?只有找到它才能讀取、運行(裝載)該模塊。

在任何一個python程序啟動時,都會將模塊的搜索路徑收集到sys模塊的path屬性中(sys.path)。當python需要搜索模塊文件在何處時,首先搜索內置模塊,如果不是內置模塊,則搜索sys.path中的路徑列表,搜索時會從該屬性列出的路徑中按照從前向后的順序進行搜索,并且只要找到就立即停止搜索該模塊文件(也就是說不會后搜索的同名模塊覆蓋先搜索的同名模塊)。

例如,在a.py文件中輸出一下這個屬性的內容:

#a.py:

importsys

print(sys.path)

結果:

['G:\\pycode','C:\\ProgramFiles(x86)\\Python36-32\\python36.zip','C:\\ProgramFiles(x86)\\Python36-32\\DLLs','C:\\ProgramFiles(x86)\\Python36-32\\lib','C:\\ProgramFiles(x86)\\Python36-32','C:\\Users\\malong\\AppData\\Roaming\\Python\\Python36\\site-packages','C:\\ProgramFiles(x86)\\Python36-32\\lib\\site-packages']

python模塊的搜索路徑包括幾個方面,按照如下順序搜索:

程序文件(a.py)所在目錄,即G:\\pycode

環境變量PYTHONPATH所設置的路徑(如果定義了該環境變量,則從左向右的順序搜索)

標準庫路徑

.pth文件中定義的路徑

需要注意,上面sys.path的結果中,除了.zip是一個文件外,其它的搜索路徑全都是目錄,也就是從這些目錄中搜索模塊X的文件X.py是否存在。

程序所在目錄

這個目錄是最先搜索的,且是python自動搜索的,無需對此進行任何設置。從交互式python程序終輸出sys.path的結果:

>>>sys.path

['','C:\\WINDOWS\\system32','C:\\ProgramFiles(x86)\\Python36-32\\Lib\\idlelib','C:\\ProgramFiles(x86)\\Python36-32\\python36.zip','C:\\ProgramFiles(x86)\\Python36-32\\DLLs','C:\\ProgramFiles(x86)\\Python36-32\\lib','C:\\ProgramFiles(x86)\\Python36-32','C:\\Users\\malong\\AppData\\Roaming\\Python\\Python36\\site-packages','C:\\ProgramFiles(x86)\\Python36-32\\lib\\site-packages']

其中第一個''表示的就是程序所在目錄。

注意程序所在目錄和當前目錄是不同的。例如,在/tmp/目錄下執行/pycode中的a.py文件

cd/tmp

python/pycode/a.py

其中/tmp為當前目錄,而/pycode是程序文件a.py所在的目錄。如果a.py中導入b.py,那么將首先搜索/pycode,而不是/tmp。

環境變量PYTHONPATH

這個變量中可以自定義一系列的模塊搜索路徑列表,這樣可以跨目錄搜索(另一種方式是設置.pth文件)。但默認情況下這個環境變量是未設置的。

在windows下,設置PYTHONPATH環境變量的方式:命令行中輸入:SystemPropertiesAdvanced-->環境變量-->系統環境變量新建

如果是多個路徑,則使用英文格式的分號分隔。以下是臨時設置當前命令行窗口的PYTHONPATH:

setPYTHONPATH='D:\pypath;d:\pypath1'

在unix下,設置PYTHONPATH環境變量的方式,使用冒號分隔多個路徑:另外,必須得export導出為環境變量

exportPYTHONPATH=/tmp/pypath1:/tmp/pypath2

如果要永久生效,則寫入配置文件中:

echo'exportPYTHONPATH=/tmp/pypath1:/tmp/pypath2'>/etc/profile.d/pypth.sh

chmod+x/etc/profile.d/pypth.sh

source/etc/profile.d/pypth.sh

標準庫路徑

在Linux下,標準庫的路徑一般是在/usr/lib/pythonXXX/下(XXX表示python版本號),此目錄下有些分了子目錄。

例如:

['','/usr/lib/python35.zip','/usr/lib/python3.5','/usr/lib/python3.5/plat-x86_64-linux-gnu','/usr/lib/python3.5/lib-dynload','/usr/local/lib/python3.5/dist-packages','/usr/lib/python3/dist-packages']

其中/usr/lib/python3.5和其內的幾個子目錄都是標準庫的搜索路徑。

注意其中/usr/lib/python35.zip,它是ZIP文件組件,當定義此文件為搜索路徑時,將自動解壓縮該文件,并從此文件中搜索模塊。

Windows下根據python安裝位置的不同,標準庫的路徑不同。如果以默認路徑方式安裝的python,則標準庫路徑為C:\\ProgramFiles(x86)\\Python36-32及其分類的子目錄。

.pth文件自定義路徑

可以將自定義的搜索路徑放進一個.pth文件中,每行一個搜索路徑。然后將.pth文件放在python安裝目錄或某個標準庫路徑內的sitepackages目錄下即可。

這是一種替換PYTHONPATH的友好方式,因為不同操作系統設置環境變量的方式不一樣,而以文件的方式記錄是所有操作系統都通用的。

例如,windows下,在python安裝目錄C:\\ProgramFiles(x86)\\Python36-32下新增一個mypath.pth文件,內容如下:

d:\pypath1

d:\pypath2

再去輸出sys.path,將可以看到這兩個路徑已經放進了搜索列表中。

修改搜索路徑

除了上面環境變量和.pth文件,還可以直接修改sys.path或者site.getsitepackages()的結果。

例如,在import導入sys模塊之后,可以修改sys.path,向這個列表中添加其它搜索路徑,這樣之后導入其它模塊的時候,也會搜索該路徑。

例如:

importsys

sys.path.append('d:\\pypath3')

print(sys.path)

sys.path的最后一項將是新添加的路徑。

以上內容為大家介紹了python模塊搜索路徑,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 亲密爱人完整版在线观看韩剧 | 大学生日嘛批1| 国产波多野结衣中文在线播放| 免费看美女隐私直播| 97就要干| 小婷又紧又深又滑又湿好爽| 成人精品一区二区三区中文字幕| 日本韩国欧美在线观看| 人人爽天天碰天天躁夜夜躁| 亚洲影院adc| 一个人看的www片免费| 国产亚洲美女精品久久久久| 欧美xxx高清| 工囗番漫画全彩无遮挡| 天堂网www中文在线| 亚洲国产精品综合久久网络| 日韩欧美亚洲国产精品字幕久久久 | 夫妇交换性3中文字幕k8| 小小在线观看视频www软件| 高清在线一区二区| 成人福利电影在线观看| 80yy私人午夜a级国产| 18末成年禁止观看试看一分钟| 久久久国产乱子伦精品| 欧美高清hd| 足本玉蒲团在线观看| 阿v视频免费在线观看| 日韩伦理片电影在线免费观看| 欧美aaaaaaaaa| 下面一进一出好爽视频| 国产又长又粗又爽免费视频| 免费看国产一级特黄aa大片| 国产一区二区在线视频| 韩国三级最新理论电影| 风间由美juy135在线观看 | 久久伊人精品| 草莓污视频在线观看午夜社区| 久久国产免费观看精品3| 女人张腿让男桶免费视频大全| 在线|一区二区三区四区| 亚洲美女人黄网成人女|