【小技巧】Python读取文件时如何按顺序读取
做一个记录,因为读取文件时经常遇上比较复杂的情况,这里写一个几乎能应对所有场景的代码
场景假设:
如果说我们一个文件夹里,既有文件夹,也有不同类型的文件,我们只想要某个类型的文件的所有路径,并按顺序读取该如何呢?
形式如下:
image1(文件夹)
image2(文件夹)
data1.csv
……
img1.jpg
……
代码:
filelist = os.listdir(path)#读取文件路径
filelist.sort(key=lambda x: int((x.split('.')[0])[4:]) if x.endswith('.csv') else 0)#把文件夹的顺序设为0,
#需要的文件类型筛选出来,然后按照数字所在的位置,只将数字提取出来转化成int,进行排序
for item in filelist:
if item.endswith('.csv'):#只需要打印csv的文件路径
src = os.path.join(os.path.abspath(res_path), item)
print(src )
【小技巧】Python读取文件时如何按顺序读取
做一个记录,因为读取文件时经常遇上比较复杂的情况,这里写一个几乎能应对所有场景的代码
场景假设:
如果说我们一个文件夹里,既有文件夹,也有不同类型的文件,我们只想要某个类型的文件的所有路径,并按顺序读取该如何呢?
形式如下:
image1(文件夹)
image2(文件夹)
data1.csv
……
img1.jpg
……
代码:
filelist = os.listdir(path)#读取文件路径
filelist.sort(key=lambda x: int((x.split('.')[0])[4:]) if x.endswith('.csv') else 0)#把文件夹的顺序设为0,
#需要的文件类型筛选出来,然后按照数字所在的位置,只将数字提取出来转化成int,进行排序
for item in filelist:
if item.endswith('.csv'):#只需要打印csv的文件路径
src = os.path.join(os.path.abspath(res_path), item)
print(src )