python?如何獲取文件夾中的全部文件
python 如何獲取文件夾中的全部文件
在神經(jīng)網(wǎng)絡(luò)準(zhǔn)備訓(xùn)練集的時(shí)候,經(jīng)常需要從文件夾中讀取全部圖片。經(jīng)常遇到的有兩種方式
1 os.listdir()
os.listdir()是列舉文件夾中所有文件名。然后通過(guò)os.path.join()函數(shù)將文件夾的地址和文件夾名稱連接起來(lái)獲得絕對(duì)地址。
import os
files=os.listdir('./T91_HR')
print(type(files))
print(files)
for i in files:
path=os.path.join('./T91_HR/'+i)
print(path)2 glob
glob是用于匹配符合指定模式的文件集合的一種語(yǔ)言
返回所有匹配的文件路徑列表。它只有一個(gè)參數(shù)pathname,定義了文件路徑匹配規(guī)則,這里可以是絕對(duì)路徑,也可以是相對(duì)路徑

glob.glob()
這里返回的是一個(gè)列表
from glob import glob
import os
path=os.path.join('./T91_HR/*.png')
files=glob(path)
print(type(files))
for i in files:
print(i)glob.iglob()
這個(gè)函數(shù)與glob.glob()函數(shù)的功能類似,也只有pathname一個(gè)參數(shù),但是這個(gè)函數(shù)返回一個(gè)迭代器,也就是說(shuō)一次只返回一個(gè)路徑,相比于glob.glob()會(huì)占用更少的內(nèi)存。
from glob import iglob
import os
path=os.path.join('./T91_HR/*.png')
files=iglob(path)
print(type(files))
from glob import iglob
import os
path=os.path.join('./T91_HR/*.png')
files=iglob(path)
print(type(files))自然排序
from natsort import natsorted a = ['1.png', '3.png', '10.png', '2.png'] ##常規(guī)排序 a.sort() print(a) ##自然排序 b = natsorted(a) print(b)
PS:Python 獲取文件夾下所有文件
前言
使用Python獲取文件夾下的所有文件時(shí),存在多種方式。
1. os.listdir
- os.listdir:參數(shù)為文件夾路徑,可以返回文件夾下的所有子文件夾、文件名稱。
示例:
import os
path = 'D:\Workspace'
for file_name in os.listdir(path):
print(file_name)注意,不能返回子文件夾下的文件,并且僅返回名稱。
2. os.walk
- os.walk:參數(shù)為文件夾路徑,返回3個(gè)內(nèi)容:絕對(duì)路徑、子文件夾、文件名。 此方法可以遍歷文件夾下的所有文件、子文件及內(nèi)的所有文件:
例如:
D:/workspace/folder/text1.txt
D:/workspace/folder/text2.txt
此方法在輸入的path為D:/workspace時(shí),第一次遍歷會(huì)獲取/workspace下的所有文件和文件夾;第二次遍歷會(huì)獲取/workspace/folder下的所有文件和文件夾。因此需要對(duì)結(jié)果進(jìn)行循環(huán),以獲取所有文件。
示例:
import os
path = 'D:\Workspace'
for root, dirs, files in os.walk(path):
print(root)
print(dirs)
print(files)返回:
D:\Workspace ['folder'] [] D:\Workspace\folder [] ['text1.txt', 'text2.txt']
3. glob.glob
glob:參數(shù)為路徑以及文件過(guò)濾條件,若不設(shè)置過(guò)濾需填寫(xiě)為*,此函數(shù)會(huì)返回包括路徑的文件夾和文件名
示例:
import glob
path = 'D:\Workspace\folder\*'
for file_abs in glob.glob(path):
print(file_abs)返回:
D:\Workspace\folder\text1.txt D:\Workspace\folder\text2.txt
注意,不能返回子文件夾下的文件,并且返回文件名與絕對(duì)路徑。
到此這篇關(guān)于python 如何獲取文件夾中的全部文件的文章就介紹到這了,更多相關(guān)python獲取文件夾文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
開(kāi)啟Django博客的RSS功能的實(shí)現(xiàn)方法
這篇文章主要介紹了開(kāi)啟Django博客的RSS功能的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
Python標(biāo)準(zhǔn)庫(kù)os.path包、glob包使用實(shí)例
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)os.path包、glob包使用實(shí)例,本文直接給出代碼,代碼中有詳細(xì)注釋,需要的朋友可以參考下2014-11-11
python語(yǔ)言元素知識(shí)點(diǎn)詳解
在本篇文章中小編給大家分享了關(guān)于python語(yǔ)言元素的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們跟著學(xué)習(xí)下。2019-05-05
Python實(shí)現(xiàn)自動(dòng)化Word排版
Word是一款廣泛使用的文檔編輯工具,但在排版過(guò)程中可能會(huì)遇到繁瑣的重復(fù)操作,下面我們就來(lái)學(xué)習(xí)一下如何使用Python實(shí)現(xiàn)自動(dòng)化的Word排版,讓文檔編輯變得更加高效便捷吧2025-04-04

