python?如何獲取文件夾中的全部文件
python 如何獲取文件夾中的全部文件
在神經(jīng)網(wǎng)絡(luò)準(zhǔn)備訓(xùn)練集的時候,經(jīng)常需要從文件夾中讀取全部圖片。經(jīng)常遇到的有兩種方式
1 os.listdir()
os.listdir()是列舉文件夾中所有文件名。然后通過os.path.join()函數(shù)將文件夾的地址和文件夾名稱連接起來獲得絕對地址。
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
是用于匹配符合指定模式的文件集合的一種語言
返回所有匹配的文件路徑列表。它只有一個參數(shù)pathname,定義了文件路徑匹配規(guī)則,這里可以是絕對路徑,也可以是相對路徑
glob.glob()
這里返回的是一個列表
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()
這個函數(shù)與glob.glob()函數(shù)的功能類似,也只有pathname一個參數(shù),但是這個函數(shù)返回一個迭代器,也就是說一次只返回一個路徑,相比于glob.glob()會占用更少的內(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獲取文件夾下的所有文件時,存在多種方式。
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個內(nèi)容:絕對路徑、子文件夾、文件名。 此方法可以遍歷文件夾下的所有文件、子文件及內(nèi)的所有文件:
例如:
D:/workspace/folder/text1.txt
D:/workspace/folder/text2.txt
此方法在輸入的path為D:/workspace時,第一次遍歷會獲取/workspace下的所有文件和文件夾;第二次遍歷會獲取/workspace/folder下的所有文件和文件夾。因此需要對結(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ù)為路徑以及文件過濾條件,若不設(shè)置過濾需填寫為*,此函數(shù)會返回包括路徑的文件夾和文件名
示例:
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
注意,不能返回子文件夾下的文件,并且返回文件名與絕對路徑。
到此這篇關(guān)于python 如何獲取文件夾中的全部文件的文章就介紹到這了,更多相關(guān)python獲取文件夾文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django實(shí)現(xiàn)登錄時候輸入密碼錯誤5次鎖定用戶十分鐘
這篇文章主要介紹了django實(shí)現(xiàn)登錄時候輸入密碼錯誤5次鎖定用戶十分鐘,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11Python實(shí)現(xiàn)DDos攻擊實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)DDos攻擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02python如何使用import引入其他目錄文件或自定義模塊
這篇文章主要介紹了python如何使用import引入其他目錄文件或自定義模塊方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02