python遍歷文件夾的各種方法大全
前言
Python 提供了一些庫,可以幫助我們實現(xiàn)文件夾遍歷。在本文中,我將介紹三種常用的遍歷文件夾的方法,并且給出每種方法的使用示例和優(yōu)缺點分析。
方法一:os.walk()
os.walk() 是 Python 中最常用的遍歷文件夾的方法。這個方法會自動地遞歸遍歷文件夾中的所有子文件夾。在遍歷過程中,返回的是一個元組(root, dirs, files),其中 root 表示當前遍歷到的文件夾的路徑,dirs 表示當前文件夾下的子文件夾,files 表示當前文件夾下的所有文件。
import os # 遍歷文件夾 def traversal_folder(folder_path): for root, dirs, files in os.walk(folder_path): # 遍歷當前文件夾下的所有文件 for file_name in files: file_path = os.path.join(root, file_name) print(file_path) # 調(diào)用函數(shù) folder_path = r"D:\data" traversal_folder(folder_path)
優(yōu)點:os.walk() 能夠自動遍歷文件夾下的子文件夾,無需手動遞歸。
缺點:對于大型文件夾,os.walk() 會占用大量的內(nèi)存,因為它需要把所有的文件都存儲在內(nèi)存中,會導致程序崩潰。
方法二:os.listdir()
os.listdir() 是 Python 中另一種常用的遍歷文件夾的方法。這個方法會返回指定路徑下的所有文件和文件夾的列表,但是不會遞歸遍歷。
import os # 遍歷文件夾 def traversal_folder(folder_path): for file_name in os.listdir(folder_path): file_path = os.path.join(folder_path, file_name) print(file_path) # 調(diào)用函數(shù) folder_path = r"D:\data" traversal_folder(folder_path)
優(yōu)點:os.listdir() 執(zhí)行速度比 os.walk() 更快。
缺點:os.listdir() 不會遞歸遍歷,如果需要遞歸遍歷的話,還需要在函數(shù)中加入遞歸操作。
方法三:glob.glob()
glob.glob() 是 Python 中一種使用比較少見的遍歷文件夾的方法。這個方法會根據(jù)指定的文件名模式匹配到的所有文件和文件夾,并以一個列表的形式返回。類似于 os.listdir(),不會遞歸遍歷。
import glob # 遍歷文件夾 def traversal_folder(folder_path): for file_path in glob.glob(os.path.join(folder_path, '*')): print(file_path) # 調(diào)用函數(shù) folder_path = r"D:\data" traversal_folder(folder_path)
優(yōu)點:glob.glob() 使用簡單,代碼量少。
缺點:glob.glob() 不會遞歸遍歷,如果需要遞歸遍歷的話,還需要在函數(shù)中加入遞歸操作。
結(jié)論
以上就是三種常用的 Python 遍歷文件夾的方法。在實際使用中,我們可以根據(jù)具體情況選擇不同的方法來實現(xiàn)文件夾的遍歷。如果需要遞歸遍歷,建議使用 os.walk() 方法,如果只需要遍歷當前文件夾,建議使用 os.listdir() 或 glob.glob() 方法。
到此這篇關于python遍歷文件夾的各種方法大全的文章就介紹到這了,更多相關python遍歷文件夾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python將紅底證件照轉(zhuǎn)成藍底的實現(xiàn)方法
這篇文章主要介紹了python將紅底證件照轉(zhuǎn)成藍底,本文給大家分享四種方法通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08Python字典推導式將cookie字符串轉(zhuǎn)化為字典解析
這篇文章主要介紹了Python字典推導式將cookie字符串轉(zhuǎn)化為字典解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08Python 使用 Pillow 模塊給圖片添加文字水印的方法
這篇文章主要介紹了Python 使用 Pillow 模塊給圖片添加文字水印的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08python數(shù)據(jù)抓取分析的示例代碼(python + mongodb)
本篇文章主要介紹了python數(shù)據(jù)抓取分析的示例代碼(python + mongodb),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Python調(diào)用Jar包的兩種方式小結(jié)
這篇文章主要介紹了Python調(diào)用Jar包的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12