繁体   English   中英

os.listdir() 以混合顺序读取文件

[英]os.listdir() reading files in a mixed up order

我正在尝试读取文件夹“Data”子文件夹“opticalmicroscopy”中的大约 120 个文件,并且以连续顺序读取这些文件非常重要。 但是, os.listdir 似乎混淆了奇怪的顺序,因为在“光学显微镜”中,我的文件是按顺序收听的。 有解决办法吗?

代码

我的文件在“光学显微镜”中列出的方式:

在此处输入图像描述

import os
parent_list = sorted(os.listdir("Data\opticalmicroscopy"), key=len)
for child in parent_list:
    print(child)

如果您使用help(os.listdir) ,您将在帮助底部看到以下内容:

    The list is in arbitrary order.  It does not include the special
    entries '.' and '..' even if they are present in the directory.

这意味着 output 的顺序没有错,但可能不是您所期望的。 如果您想按字母顺序拥有 output,您可以这样做

parent_list = os.listdir()
parent_list.sort()
print(parent_list)

您可能还想反转列表:

parent_list = os.listdir()
parent_list.reverse()
print(parent_list)

或者将两者结合起来得到一个反向排序的列表:

parent_list = os.listdir()
parent_list.sort()
parent_list.reverse()
print(parent_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM