【python】解决Linux下os.listdir()读取文件列表乱序的问题

项目场景

某个文件夹如test下,有若干文件如1.txt, 2.txt, 3.txt,我们想通过os.listdir()获取文件列表。

test1
	1.txt
	2.txt
	3.txt

问题描述

Windows系统使用os.listdir()得到的是顺序排序的文件列表。

>>> import os
>>> os.listdir()
['1.txt', '2.txt', '3.txt']

Linux系统使用os.listdir()得到的却是乱序排序的文件列表。

>>> import os
>>> os.listdir()
['3.txt', '2.txt', '1.txt']

原因分析

应该是系统内部文件存储机制不同(猜的)。

解决方案

Python自带排序函数sorted()排个序就行了。

>>> import os
>>> os.listdir()
['3.txt', '2.txt', '1.txt']
>>> sorted(os.listdir())
['1.txt', '2.txt', '3.txt']
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xavier Jiezou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值