Python3。为什么os.scandir不按顺序扫描?

时间:2018-02-21 16:39:08

标签: python list sequence scandir

我有一张1600张照片的目录,我需要将每张照片的路径保存到列表然后再保存到.txt文件。

照片根据列表中的位置进行枚举:img(0), img(1)...我需要保留此位置。

我获得的是这个订单,所以现在在列表索引2中我有img(10):

img(0) img(1) img(10) img(100) img(1000) img(1001) ...
  img(2) img(2) img(20) img(200) img(2000) img(2001) ...

显然,我是唯一有这个问题的人,因为我没有找到关于这个问题的任何讨论。非常感谢你帮助我。

1 个答案:

答案 0 :(得分:0)

正如其他人所说,文档并不保证任何特定的顺序。在您的情况下,它似乎按字母顺序/词典顺序排序。 " 10"来之前" 2"按字母顺序排列。您必须预先添加0才能为每个文件提供相同的位数以获得您想要的订单如果此行为在您的计算机上保持一致。

例如," 002"将来之前" 010"。

如果您想要安全(例如需要能够将代码移植到其他机器/操作系统),您需要手动排序。