美文网首页
os.listdir输出结果随机

os.listdir输出结果随机

作者: 坐看云起时zym | 来源:发表于2019-12-01 21:55 被阅读0次

我经常利用os.listdir得到一个文件夹中全部文件的文件名和路径信息,但是os.listdir返回的结果的顺序是不确定的,也即与文件夹中的顺序是不相同的。例如,在我的一个文件夹中文件的顺序是


file.png

我们用如下程序,获取文件名并打印出来

import os
root = 'root'
file_names = os.listdir(root)
for i in range(len(file_names)):
    print(file_names[I])
wrong.png

可以看到文件名的顺序与文件夹中果然不一致,并且顺序非常散乱,我们观察到文件在文件夹中的顺序是由第4-10位的字符决定的,于是我们以每个文件名的第4-10位的字符对文件名的list进行排序

import os
root = 'root'
file_names = os.listdir(root)

file_names.sort(key=lambda x:int(x[3:10]))
for i in range(len(file_names)):
    print(file_names[I])

结果如下


correct.png

可以看到与原文件夹的顺序相同

相关文章

网友评论

      本文标题:os.listdir输出结果随机

      本文链接:https://www.haomeiwen.com/subject/uihawctx.html