Python文件夹按数字排序
慕尘 人气:0先给大家介绍下Python读取文件夹按数字排序的代码,内容如下所示:
python中 os.listdir()方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
import os path = "../data/materials/test/" path_list = os.listdir(path) print(path_list)
输出
['1.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg', '15.jpg', '16.jpg', '17.jpg', '18.jpg', '19.jpg', '2.jpg', '20.jpg', '3.jpg','4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg']
返回的文件名不是顺序的
使用sort()对返回的文件名列表进行排序
path = "../data/materials/test/" path_list = os.listdir(path) path_list.sort(key=lambda x: int(x.split('.')[0])) print(path_list)
输出
['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg', '15.jpg', '16.jpg', '17.jpg', '18.jpg', '19.jpg', '20.jpg']
扩展知识:
python读取文件夹内容
1. 文件夹读取文件
Python os.listdir() 方法:
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
import os, sys # 打开文件 COOKED_FOLDER = './cooked_traces/' #文件夹的地址 dirs = os.listdir( COOKED_FOLDER ) # 输出所有文件和文件夹 for file in dirs: print (file) #读出所有文件夹名字
2. 文件中读取文件内容
open() 方法
open(file, moopen(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
https://www.runoob.com/python/file-methods.html #具体的每个关键字的含义
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
import os, sys # 打开文件 COOKED_FOLDER = './cooked_traces/' #文件夹的地址 dirs = os.listdir( COOKED_FOLDER ) # 输出所有文件和文件夹 for file in dirs: # print(file) #输出所有文件夹名字 filepath = COOKED_FOLDER + file #文件所在地址 with open(filepath,'r') as f: #读取文件 for line in f : # #按行遍历文件内容 print(line) #输出每行信息
加载全部内容