700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > [天坑]python从文件中读取数据排序_关于os.listdir()乱序问题

[天坑]python从文件中读取数据排序_关于os.listdir()乱序问题

时间:2023-01-09 10:25:28

相关推荐

[天坑]python从文件中读取数据排序_关于os.listdir()乱序问题

朋友问了我一个问题:

为啥他用了os.listdir后图片顺序不对了...

我很好奇

import osdef deal(path):file_names = os.listdir(path)c = 0# 随机获取一张图片的格式f_first = file_names[0]suffix = f_first.split('.')[-1] # 图片文件的后缀for file in file_names:os.rename(os.path.join(path, file), os.path.join(path, '{:0>6d}.{}'.format(c, suffix)))c += 1if __name__ == '__main__':deal('D:\code\JPEGImages') # 请按需修改图片文件的路径

我试了试断点

我看这还这是,1,10,100,101........离谱

后来看了博主的博客

(2条消息) 解决python语言里os.listdir(path)乱序问题_huanhuan_Coder的博客-CSDN博客 /huanhuan_Coder/article/details/86180252

/huanhuan_Coder/article/details/86180252

确实解决了问题

更改后的为:

import osdef deal(path):file_names = os.listdir(path)file_names.sort(key=lambda x: int(x[:-4]))c = 1# 随机获取一张图片的格式f_first = file_names[0]suffix = f_first.split('.')[-1] # 图片文件的后缀for file in file_names:os.rename(os.path.join(path, file), os.path.join(path, '{:0>6d}.{}'.format(c, suffix)))c += 1if __name__ == '__main__':deal('E:\code\jpegimage\JPEGImages') # 请按需修改图片文件的路径

c也改了,如果是c=0会从0000开始,我改成了c=1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。