詳解Python遍歷文件和文件路徑拼接
一、os.walk()文件(夾)讀取
遍歷指定路徑下的所有文件和文件夾
示例代碼如下
mdfFolder= "D:\hanshan\MDF"
for root, dirs, files in os.walk(mdfFolder):
# root為根目錄,即讀取的文件夾目錄(mdfFolder)
print('root: ', root)
# dirs為子文件夾,即當(dāng)前讀取的子文件夾
print('dirs: ', dirs)
# files為讀取到的文件列表
print('files: ', files)
# 當(dāng)前程序所在位置的路徑
print('current dir: ', os.getcwd())
二、os.path.join()文件路徑拼接
(跨系統(tǒng)也可用)
1. 介紹
在不同的操作系統(tǒng)種路徑的拼接符號(hào)是不一樣的,如Windows系統(tǒng)是\,Linux系統(tǒng)是/
為了程序能在不同系統(tǒng)中都能同樣執(zhí)行,在python種使用os.path.join可以自動(dòng)適配系統(tǒng)路徑符號(hào)
2. 使用
引入os庫(kù)
使用os.path.join()函數(shù)
傳入?yún)?shù),可以是兩個(gè)參數(shù)也可以是三個(gè)參數(shù)
2.1 兩個(gè)參數(shù)
兩個(gè)參數(shù)時(shí),第一個(gè)是路徑前綴(可通過(guò)os.getcwd()獲取當(dāng)前位置系統(tǒng)路徑),第二個(gè)參數(shù)是文件名
如os.path.join(os.getcwd(),'test.txt')
如果系統(tǒng)為windows,且當(dāng)前系統(tǒng)路徑為D:\Projects\demo,則拼接后的結(jié)果為D:\Projects\demo\test.txt
2.2 三個(gè)參數(shù)
三個(gè)參數(shù)時(shí),第一個(gè)是路徑前綴,第二個(gè)是相對(duì)路徑(即中間的路徑),第三個(gè)參數(shù)是文件名
如os.path.join(os.getcwd(),'TEST','test.txt')
如果系統(tǒng)為windows,且當(dāng)前系統(tǒng)路徑為D:\Projects\demo,則拼接后的結(jié)果為D:\Projects\demo\TEST\test.txt
3. 示例代碼
具體的參考代碼可參考以下
# 用于獲取文件的系統(tǒng)路徑
import os
# 讀取本地文件夾種的mdf文件列表
def readMdfFolder(mdfFolder):
# 所有文件的全路徑列表
fullPathList = []
for root, dirs, files in os.walk(mdfFolder):
# root為根目錄,即讀取的文件夾目錄(mdfFolder)
print('root: ', root)
# dirs為子文件夾,即當(dāng)前讀取的子文件夾
print('dirs: ', dirs)
# files為讀取到的文件列表
print('files: ', files)
# 當(dāng)前程序所在位置的路徑
print('current dir: ', os.getcwd())
for file in files:
# 文件全路徑合成,包含系統(tǒng)路徑和文件名,該拼接方式會(huì)根據(jù)操作系統(tǒng)路徑符號(hào)進(jìn)行拼接,注意,MDF為相對(duì)路徑,不加該參數(shù)則會(huì)將當(dāng)前程序所在系統(tǒng)路徑和文件名進(jìn)行拼接
fullPath = os.path.join(os.getcwd(), 'MDF', file)
# 將文件路徑放入列表
fullPathList.append(fullPath)
print("===========")
# 將完整路徑的列表打印
print(fullPathList)
# 當(dāng)前位置的MDF文件夾
folder = "./MDF"
# 調(diào)用方法讀取當(dāng)前位置的MDF文件夾
readMdfFolder(folder)4. 打印結(jié)果
拼接后的結(jié)果如下

到此這篇關(guān)于詳解Python遍歷文件和文件路徑拼接的文章就介紹到這了,更多相關(guān)Python遍歷文件和路徑拼接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的udp通信的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的udp通信的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
python3+PyQt5實(shí)現(xiàn)支持多線程的頁(yè)面索引器應(yīng)用程序
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5實(shí)現(xiàn)支持多線程的頁(yè)面索引器應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Python APScheduler執(zhí)行使用方法詳解
在本篇文章里小編給大家整理的是一篇關(guān)于Python APScheduler執(zhí)行使用方法的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12
python實(shí)現(xiàn)在內(nèi)存中讀寫(xiě)str和二進(jìn)制數(shù)據(jù)代碼
這篇文章主要介紹了python實(shí)現(xiàn)在內(nèi)存中讀寫(xiě)str和二進(jìn)制數(shù)據(jù)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
關(guān)于Python中異常(Exception)的匯總
異常是指程序中的例外,違例情況。異常機(jī)制是指程序出現(xiàn)錯(cuò)誤后,程序的處理方法。當(dāng)出現(xiàn)錯(cuò)誤后,程序的執(zhí)行流程發(fā)生改變,程序的控制權(quán)轉(zhuǎn)移到異常處理。下面這篇文章主要匯總了關(guān)于Python中異常(Exception)的相關(guān)資料,需要的朋友可以參考下。2017-01-01
python多環(huán)境切換及pyenv使用過(guò)程詳解
這篇文章主要介紹了python多環(huán)境切換及pyenv使用過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Python urllib2運(yùn)行過(guò)程原理解析
這篇文章主要介紹了Python urllib2運(yùn)行過(guò)程原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Pytorch實(shí)現(xiàn)圖片異常檢測(cè)功能
異常檢測(cè)指的是在正常的圖片中找到異常的數(shù)據(jù),由于無(wú)法通過(guò)規(guī)則進(jìn)行識(shí)別判斷,這樣的應(yīng)用場(chǎng)景通常都是需要人工進(jìn)行識(shí)別,本文給大家介紹了使用Pytorch實(shí)現(xiàn)圖片異常檢測(cè)功能,感興趣的朋友可以參考下2024-05-05
蘋(píng)果Macbook Pro13 M1芯片安裝Pillow的方法步驟
Pillow作為python的第三方圖像處理庫(kù),提供了廣泛的文件格式支持,本文主要介紹了蘋(píng)果Macbook Pro13 M1芯片安裝Pillow,具有一定的參考價(jià)值,感興趣的可以了解一下2021-11-11

