os.scandir 没有列出目录中的所有条目

os.scandir does not list all entries in directory

在使用 os.scandiros.listdir 获取指定文件夹中所有文件名的列表时,我只返回了一些。该文件夹包含大约 84.000 张 .jpg 图片,文件名只是数字(1、2、3 等...)

预期输出:1.jpg2.jpg3.jpg

返回的输出:1.jpg100.jpg1000.jpg10000.jpg10001.jpg

with os.scandir('path/to/images') as entries:
    for entry in entries:
        print(entry.name)

我认为可能是文件夹打开有问题,因此最初只有 returns 一些结果,而不是全部。非常欢迎提出建议

列出了所有条目,但是它们的排序方式不同。在这种情况下,文件按字母顺序排序 - 而不是按其数值排序。当您按字母顺序排序时,这将是一个示例顺序:

  • b
  • bb
  • c

这与应用于数字的规则相同:

  • 1
  • 10
  • 100
  • 11
  • 2
  • 20

所有内容都已列出,但它们排在列表的后面。