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實現(xiàn)敲木魚加功德包含加音效和敲擊動作(附demo)
敲木魚加功德是一款很火的動畫,本文主要介紹了python實現(xiàn)敲木魚加功德包含加音效和敲擊動作,具有一定的參考價值,感興趣的可以了解一下2023-11-11
python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法
這篇文章主要介紹了python使用正則表達式分析網(wǎng)頁中的圖片并進行替換的方法,涉及Python使用正則表達式的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
詳解Python?Flask?API?示例演示(附cookies和session)
這篇文章主要為大家介紹了Python?Flask?API?示例演示(附cookies和session)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03

