在神經網絡准備訓練集的時候,經常需要從文件夾中讀取全部圖片。經常遇到的有兩種方式
os.listdir()是列舉文件夾中所有文件名。然後通過os.path.join()函數將文件夾的地址和文件夾名稱連接起來獲得絕對地址。
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)
glob
是用於匹配符合指定模式的文件集合的一種語言
返回所有匹配的文件路徑列表。它只有一個參數pathname,定義了文件路徑匹配規則,這裡可以是絕對路徑,也可以是相對路徑
這裡返回的是一個列表
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.glob()函數的功能類似,也只有pathname一個參數,但是這個函數返回一個迭代器,也就是說一次只返回一個路徑,相比於glob.glob()會占用更少的內存。
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']
##常規排序
a.sort()
print(a)
##自然排序
b = natsorted(a)
print(b)