Python遍歷指定文件夾下的所有文件名的方法小結(jié)
當(dāng)需要遍歷指定文件夾下的所有文件名時(shí),Python提供了多種方法來(lái)實(shí)現(xiàn)這個(gè)任務(wù)。本文將介紹如何使用Python來(lái)完成這一任務(wù),并提供豐富的示例代碼,幫助大家更好地理解和應(yīng)用這些方法。
使用os模塊
import os # 指定文件夾路徑 folder_path = '/path/to/your/folder' # 使用os.walk遍歷文件夾 for foldername, subfolders, filenames in os.walk(folder_path): for filename in filenames: # 打印文件名或進(jìn)行其他操作 print(os.path.join(foldername, filename))
使用glob模塊
import glob # 使用glob.glob遍歷文件夾下的文件 folder_path = '/path/to/your/folder' file_list = glob.glob(f'{folder_path}/*') for file_path in file_list: # 打印文件路徑或進(jìn)行其他操作 print(file_path)
使用os.listdir和os.path.join
import os # 指定文件夾路徑 folder_path = '/path/to/your/folder' # 使用os.listdir遍歷文件夾 for filename in os.listdir(folder_path): file_path = os.path.join(folder_path, filename) if os.path.isfile(file_path): # 打印文件路徑或進(jìn)行其他操作 print(file_path)
使用os.scandir(Python 3.5+)
Python 3.5及以上版本引入了os.scandir方法,它提供了一種更高效的方式來(lái)遍歷文件夾并獲取文件信息。
import os # 指定文件夾路徑 folder_path = '/path/to/your/folder' # 使用os.scandir遍歷文件夾 with os.scandir(folder_path) as entries: for entry in entries: if entry.is_file(): # 打印文件路徑或進(jìn)行其他操作 print(entry.path)
這種方法相比于os.listdir在性能上有所提升,并且提供了更多的文件信息,如文件大小、修改時(shí)間等。
使用Pathlib庫(kù)(Python 3.4+)
Pathlib庫(kù)是Python 3.4及以上版本的標(biāo)準(zhǔn)庫(kù)中的一部分,它提供了面向?qū)ο蟮穆窂讲僮鞣椒ā?/p>
from pathlib import Path # 指定文件夾路徑 folder_path = Path('/path/to/your/folder') # 使用Pathlib遍歷文件夾 for file_path in folder_path.iterdir(): if file_path.is_file(): # 打印文件路徑或進(jìn)行其他操作 print(file_path)
Pathlib庫(kù)具有更加面向?qū)ο蟮脑O(shè)計(jì),使得代碼更加清晰易讀,同時(shí)也提供了豐富的文件操作方法。
使用os.scandir和遞歸
如果需要遞歸地遍歷文件夾及其子文件夾中的所有文件,可以結(jié)合使用os.scandir和遞歸函數(shù)來(lái)實(shí)現(xiàn):
import os def list_files_recursive(folder_path): with os.scandir(folder_path) as entries: for entry in entries: if entry.is_file(): # 打印文件路徑或進(jìn)行其他操作 print(entry.path) elif entry.is_dir(): # 遞歸調(diào)用list_files_recursive處理子文件夾 list_files_recursive(entry.path) # 指定根文件夾路徑 root_folder = '/path/to/your/root/folder' # 調(diào)用遞歸函數(shù)開(kāi)始遍歷 list_files_recursive(root_folder)
這種方法會(huì)遍歷指定文件夾及其所有子文件夾中的文件,非常適用于需要深度遍歷整個(gè)文件目錄結(jié)構(gòu)的情況。
總結(jié)
無(wú)論選擇哪種方法,都可以根據(jù)具體需求來(lái)實(shí)現(xiàn)在Python中遍歷指定文件夾下的所有文件名,或者遞歸遍歷文件夾結(jié)構(gòu)。這些示例代碼提供了不同的選項(xiàng),幫助大家更好地處理文件操作任務(wù)。
到此這篇關(guān)于Python遍歷指定文件夾下的所有文件名的方法小結(jié)的文章就介紹到這了,更多相關(guān)Python遍歷文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch實(shí)現(xiàn)建立自己的數(shù)據(jù)集(以mnist為例)
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)建立自己的數(shù)據(jù)集(以mnist為例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python利用公共鍵如何對(duì)字典列表進(jìn)行排序詳解
這篇文章主要給大家介紹了關(guān)于Python利用公共鍵如何對(duì)字典列表進(jìn)行排序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05python 實(shí)現(xiàn)turtle畫(huà)圖并導(dǎo)出圖片格式的文件
今天小編就為大家分享一篇python 實(shí)現(xiàn)turtle畫(huà)圖并導(dǎo)出圖片格式的文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12利用python開(kāi)發(fā)app實(shí)戰(zhàn)的方法
這篇文章主要介紹了利用python開(kāi)發(fā)app實(shí)戰(zhàn)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python3 字典dictionary入門基礎(chǔ)附實(shí)例
Python字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型,字典由鍵和對(duì)應(yīng)值成對(duì)組成,字典也被稱作關(guān)聯(lián)數(shù)組或哈希表2020-02-02通用的Django注冊(cè)功能模塊實(shí)現(xiàn)方法
這篇文章主要介紹了通用的Django注冊(cè)功能模塊實(shí)現(xiàn)步驟,幫助大家更好的理解和使用django,感興趣的朋友可以了解下2021-02-02