指定一个文件夹img,img有俩个子文件夹a和b,图片格式有png,jpg,获取a文件夹里面图片的路径存到列表al,获取b文件夹图片的路径存到列表bl,怎么做到,要代码
小试了一下
#! /usr/bin/env python3
# _*_ coding: utf8 _*_
import os
al = []
bl = []
def img_add_path(dir, subdir=''):
"""
获取绝对路径分类
:param dir: 父目录
:param subdir: 子目录
:return: 无
"""
for file in os.listdir(f'{dir}/{subdir}'):
local_path = f'{dir}/{subdir}/{file}'
if local_path.endswith('.png'):
al.append(local_path)
elif local_path.endswith('.jpg'):
bl.append(local_path)
else:
print(local_path)
if __name__ == '__main__':
path_img = '/home/img'
# a 目录
img_add_path(path_img, 'a')
# b 目录
img_add_path(path_img, 'b')
这个和文件路径一样的
import os
img_path = 'D:/img'
a_path=os.path.join(img_path, 'a')
b_path=os.path.join(img_path, 'b')
alist = []
for root,dirs,files in os.walk(a_path):
for f in files:
if f.endswith('.png') or f.endswith('.jpg'):
alist.append(os.path.join(root,f).replace('\'','/'))
blist = []
for root,dirs,files in os.walk(b_path):
for f in files:
if f.endswith('.png') or f.endswith('.jpg'):
blist.append(os.path.join(root,f).replace('\\','/'))
print(alist)
print(blist)
import os
pathA="img\\a"
pathB="img\\b"
dirsA = os.listdir( pathA )
dirsB = os.listdir( pathB )
al=[]
bl=[]
for file in dirsA:
al.append(os.path.abspath(file))
for file in dirsB:
bl.append(os.path.abspath(file))
print(al)
print(bl)
import glob
base_path = 'D:/img'
al = glob.glob(base_path + '/a/*.jpg')
bl = glob.glob(base_path + '/b/*.png')
直接就获取得到图片路径列表,还可以使用通配符,来获取满足一定条件的图片路径