python中的os.path.join使用方法詳解
前言
os.path.join用于將多個(gè)路徑拼接為一個(gè)完整路徑。
經(jīng)常使用,但沒了解過細(xì)節(jié),直到今天遇到一個(gè)令人疑惑的問題,最后發(fā)現(xiàn)是os.path.join的問題,借此機(jī)會,記錄下os.path.join的用法。
功能描述
os.path.join() method in Python join one or more path components intelligently. This method concatenates various path components with exactly one directory separator (‘/’) following each non-empty part except the last path component. If the last path component to be joined is empty then a directory separator (‘/’) is put at the end. If a path component represents an absolute path, then all previous components joined are discarded and joining continues from the absolute path component.
總的來講,os.path.join可以拼接的path分為以下三種:
- 相對路徑,即不是以'/'開頭的路徑
- 絕對路徑,以'/'開頭的路徑
- 空字符串
對于這三種不同類型的path,os.path.join有不同的處理方式:
- 對于相對路徑,如果其不是最后一個(gè),則自動(dòng)在其后面補(bǔ)上'/';如果是最后一個(gè),則保持原樣
- 對于絕對路徑,如果遇到絕對路徑,則之前拼接的內(nèi)容則會被拋棄。即,os.path.join總是從絕對路徑開始拼接
- 對于空字符串,如果其不是最后一個(gè),則對拼接結(jié)果沒有任何影響。如果是最后一個(gè),則會在拼接結(jié)果后面補(bǔ)'/'
實(shí)際效果
p1 = 'home/Desktop' p2 = 'tmp' p3 = '/home' p4 = '' path1 = os.path.join(p1, p2) # 兩個(gè)相對路徑 path2 = os.path.join(p1, p2, p3) # 絕對路徑前的結(jié)果被丟棄 path3 = os.path.join(p1, p4,p2, p4) # 空字符串在最后一項(xiàng),則在拼接結(jié)果中添加/
輸出:
path1: home/Desktop/tmp
path2: /home
path3: home/Desktop/tmp/
到此這篇關(guān)于python中的os.path.join使用方法詳解的文章就介紹到這了,更多相關(guān)python中的os.path.join內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python中os.path.join函數(shù)的用法舉例詳細(xì)講解
- 三分鐘熟練使用Python的os.path.join()
- Python中os.path.join函數(shù)的用法示例詳解
- python中join與os.path.join()函數(shù)實(shí)例詳解
- python中os.path.join()函數(shù)實(shí)例用法
- 詳解python路徑拼接os.path.join()函數(shù)的用法
- 淺談python中拼接路徑os.path.join斜杠的問題
- Python中.join()和os.path.join()兩個(gè)函數(shù)的用法詳解
- Python的os.path.join坑的問題解決
相關(guān)文章
python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存
今天小編就為大家分享一篇python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python?自動(dòng)控制原理?control的詳細(xì)解說
這篇文章主要介紹了Python自動(dòng)控制原理control的詳細(xì)解說,文章圍繞主題展開對Python?control的介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
將Python代碼打包成可調(diào)用SDK的四種方法小結(jié)(適用于移動(dòng)端 App)
Python是一門功能強(qiáng)大、生態(tài)豐富的語言,廣泛用于數(shù)據(jù)處理、機(jī)器學(xué)習(xí)和后端服務(wù),然而,Python并不是原生的移動(dòng)端開發(fā)語言,如果希望在移動(dòng)端App中調(diào)用Python代碼,最好的方式是將Python代碼打包成SDK,所以本文給大家介紹了幾種Python代碼打包成可調(diào)用SDK的方法2025-04-04
利用python數(shù)據(jù)分析處理進(jìn)行炒股實(shí)戰(zhàn)行情
這篇文章主要介紹了利用python數(shù)據(jù)分析進(jìn)行炒股實(shí)戰(zhàn)行情,本文主要介紹三部分:數(shù)據(jù)采集,數(shù)據(jù)預(yù)處理,利用SVM算法進(jìn)行建模,本文僅供參考借鑒2021-08-08
使用Python對IP進(jìn)行轉(zhuǎn)換的一些操作技巧小結(jié)
這篇文章主要介紹了使用Python對IP進(jìn)行轉(zhuǎn)換的一些操作技巧小結(jié),包括使用socket模塊里的相關(guān)函數(shù)和匿名函數(shù)實(shí)現(xiàn),需要的朋友可以參考下2015-11-11
tensorflow基于Anaconda環(huán)境搭建的方法步驟
本文主要介紹了tensorflow基于Anaconda環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

