詳解Python遍歷文件和文件路徑拼接
一、os.walk()文件(夾)讀取
遍歷指定路徑下的所有文件和文件夾
示例代碼如下
mdfFolder= "D:\hanshan\MDF" for root, dirs, files in os.walk(mdfFolder): # root為根目錄,即讀取的文件夾目錄(mdfFolder) print('root: ', root) # dirs為子文件夾,即當前讀取的子文件夾 print('dirs: ', dirs) # files為讀取到的文件列表 print('files: ', files) # 當前程序所在位置的路徑 print('current dir: ', os.getcwd())
二、os.path.join()文件路徑拼接
(跨系統(tǒng)也可用)
1. 介紹
在不同的操作系統(tǒng)種路徑的拼接符號是不一樣的,如Windows系統(tǒng)是\,Linux系統(tǒng)是/
為了程序能在不同系統(tǒng)中都能同樣執(zhí)行,在python種使用os.path.join可以自動適配系統(tǒng)路徑符號
2. 使用
引入os庫
使用os.path.join()函數(shù)
傳入?yún)?shù),可以是兩個參數(shù)也可以是三個參數(shù)
2.1 兩個參數(shù)
兩個參數(shù)時,第一個是路徑前綴(可通過os.getcwd()獲取當前位置系統(tǒng)路徑),第二個參數(shù)是文件名
如os.path.join(os.getcwd(),'test.txt')
如果系統(tǒng)為windows,且當前系統(tǒng)路徑為D:\Projects\demo,則拼接后的結果為D:\Projects\demo\test.txt
2.2 三個參數(shù)
三個參數(shù)時,第一個是路徑前綴,第二個是相對路徑(即中間的路徑),第三個參數(shù)是文件名
如os.path.join(os.getcwd(),'TEST','test.txt')
如果系統(tǒng)為windows,且當前系統(tǒng)路徑為D:\Projects\demo,則拼接后的結果為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為子文件夾,即當前讀取的子文件夾 print('dirs: ', dirs) # files為讀取到的文件列表 print('files: ', files) # 當前程序所在位置的路徑 print('current dir: ', os.getcwd()) for file in files: # 文件全路徑合成,包含系統(tǒng)路徑和文件名,該拼接方式會根據(jù)操作系統(tǒng)路徑符號進行拼接,注意,MDF為相對路徑,不加該參數(shù)則會將當前程序所在系統(tǒng)路徑和文件名進行拼接 fullPath = os.path.join(os.getcwd(), 'MDF', file) # 將文件路徑放入列表 fullPathList.append(fullPath) print("===========") # 將完整路徑的列表打印 print(fullPathList) # 當前位置的MDF文件夾 folder = "./MDF" # 調用方法讀取當前位置的MDF文件夾 readMdfFolder(folder)
4. 打印結果
拼接后的結果如下
到此這篇關于詳解Python遍歷文件和文件路徑拼接的文章就介紹到這了,更多相關Python遍歷文件和路徑拼接內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python return邏輯判斷表達式實現(xiàn)解析
這篇文章主要介紹了python return邏輯判斷表達式實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12Python從csv文件中讀取數(shù)據(jù)及提取數(shù)據(jù)的方法
這篇文章主要介紹了Python從csv文件中讀取數(shù)據(jù)并提取數(shù)據(jù)的方法,文中通過多種方法給大家講解獲取指定列的數(shù)據(jù),并存入一個數(shù)組中,每種方法通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-11-11Django 多表關聯(lián) 存儲 使用方法詳解 ManyToManyField save
今天小編就為大家分享一篇Django 多表關聯(lián) 存儲 使用方法詳解 ManyToManyField save,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08使用Ray集群簡單創(chuàng)建Python分布式應用程序
面對計算密集型的任務,除了多進程,就是分布式計算,如何用 Python 實現(xiàn)分布式計算呢?今天分享一個很簡單的方法,那就是借助于 Ray2021-09-09Python無法安裝包的一種解決(Requirement already satisfied問題)
這篇文章主要介紹了Python無法安裝包的一種解決(Requirement already satisfied問題),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08