最近再做一个项目,需要处理大量的数据(包含又图片和txt格式文件),所以需要用到os.listdir()函数来对文件下的图片或者txt进行处理,但是需要特别注意的是os.listdir()函数虽然是列举的当前文件下的所有文件,但是不一定会列举出原来的顺序!!!

文件路径下的子文件是这样分布的:

例如:

import osif __name__ == '__main__':path = "E:/桌面/rgbLabel-all/"filelist = os.listdir(path)print(filelist)

输出:

['1.txt', '10.txt', '100.txt', '1000.txt', '1001.txt', '1002.txt', '1003.txt', '1004.txt', '1005.txt', '1006.txt', '1007.txt', '1008.txt', '1009.txt', '101.txt', '1010.txt', '1011.txt', '1012.txt', '1013.txt', '1014.txt', '1015.txt', '1016.txt', '1017.txt', '1018.txt', '1019.txt', '102.txt', '1020.txt', '1021.txt', '1022.txt', '1023.txt', '1024.txt', '1025.txt', '1026.txt', '1027.txt', '1028.txt', '1029.txt', '103.txt', '1030.txt', '1031.txt', '1032.txt', '1033.txt', '1034.txt', '1035.txt', '1036.txt', '1037.txt', '1038.txt', '1039.txt', '104.txt', '1040.txt', '1041.txt', '1042.txt', '1043.txt', '1044.txt', '1045.txt', '1046.txt', '1047.txt', '1048.txt', '1049.txt', '105.txt', '1050.txt', '1051.txt', '1052.txt', '1053.txt', '1054.txt', '1055.txt', '1056.txt', '1057.txt', '1058.txt', '1059.txt', '106.txt', '1060.txt', '1061.txt', '1062.txt', '1063.txt', '1064.txt', '1065.txt', '1066.txt', '1067.txt', '1068.txt', '1069.txt', '107.txt', '1070.txt'···

Process finished with exit code 0

可以很清楚的看到它是按照二进制的方式排序的!完全与之前的顺序背离?

既然如此,怎么才能保证原来顺序的方式来输出呢?

将原来文件规范命名即可!

将文件规范命名成下面情况:

同样的代码输出变为了:

'0000001.txt', '0000002.txt', '0000003.txt', '0000004.txt', '0000005.txt', '0000006.txt', '0000007.txt', '0000008.txt', '0000009.txt', '0000010.txt', '0000011.txt', '0000012.txt', '0000013.txt', '0000014.txt', '0000015.txt', '0000016.txt', '0000017.txt', '0000018.txt', '0000019.txt', '0000020.txt', '0000021.txt', '0000022.txt', '0000023.txt', '0000024.txt', '0000025.txt', '0000026.txt', '0000027.txt', '0000028.txt', '0000029.txt', '0000030.txt', '0000031.txt', '0000032.txt', '0000033.txt', '0000034.txt', '0000035.txt', '0000036.txt', '0000037.txt', '0000038.txt', '0000039.txt', '0000040.txt', '0000041.txt', '0000042.txt', '0000043.txt', '0000044.txt', '0000045.txt', '0000046.txt', '0000047.txt', '0000048.txt', '0000049.txt', '0000050.txt', '0000051.txt', '0000052.txt', '0000053.txt', '0000054.txt', '0000055.txt', '0000056.txt', '0000057.txt', '0000058.txt', '0000059.txt', '0000060.txt', '0000061.txt', '0000062.txt', '0000063.txt', '0000064.txt', '0000065.txt', '0000066.txt', '0000067.txt', '0000068.txt', '0000069.txt', '0000070.txt', '0000071.txt', '0000072.txt', '0000073.txt', '0000074.txt', '0000075.txt', '0000076.txt', '0000077.txt',····

Process finished with exit code 0

不就保证了原有的顺序了吗~~

不知道怎么规范命名的,可以参考我的这篇博客:

(9条消息) 大批量图片重命名---python解决(保证原来的顺序)_心之所向521的博客-CSDN博客https://blog.csdn.net/weixin_45564943/article/details/117222065虽然是小问题,但是当时自己困了好久,一致是误以为计算机按原来的顺序列举的,这也是自己程序经验不足导致的吧~~~加油

os.listdir(path)避坑指南相关推荐

  1. HarmonyOS 开发避坑指南

    Harmony OS 开发避坑指南--源码下载和编译 本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台(Hi3516,Hi3518和Hi3861)的编译环境,以及如何将源码编译为三个 ...

  2. mac下编译android源码避坑指南(新)

    截至目前mac环境下android源码编译最新避坑指南 避坑方法 配置(不说配置的都是耍流氓) 下载 编译 烧录 注意事项 避坑方法 源码.SDK.机型版本一定要清楚,有些特殊的版本需要特殊的方法,官 ...

  3. HarmonyOS实战 —基于hi3861芯片鸿蒙2.0的避坑指南

    HarmonyOS实战 -基于hi3861芯片鸿蒙2.0的避坑指南 特别说明:本文章与卡片开发无关,想看卡片开发的不用往下读了 最近学习鸿蒙设备开发的过程中遇到了很多问题,因为目前几乎所有设备开发教程 ...

  4. linux离线安装python3.6_Linux下安装Python3.6及避坑指南

    Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-dev ...

  5. python避坑指南_Linux下Python3.6的安装及避坑指南

    Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装 Python 3之前,需要将这些依赖库先行安装好. yum -y install zlib-d ...

  6. 多客技巧分享|【建议收藏】TikTok七大避坑指南帮你少走许多弯路

    很多新手朋友在做tiktok时会遇到非常多大问题,而且也非常容易踩坑,今天就给大家讲一下在tiktok运营时要注意的7大避坑指南! 先说说TikTok运营教程如何打造账号 1.网感培养 首先在我们开始 ...

  7. Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南

    Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南 实验环境 下载Android源码树 在pixel3上安装手机驱动版本 编译Android源码 Android ...

  8. Android避坑指南,Gson与Kotlin碰撞出一个不安全的操作

    本文已经授权「鸿洋」公众号原创首发. 最近发现微信多了个专辑功能,可以把一系列的原创文章聚合,刚好我每周都会遇到很多同学问我各种各样的问题,部分问题还是比较有意义的,我会在周末详细的写demo验证,简 ...

  9. 【A卡,Windows】stable diffusion webui下载安装避坑指南

    观前提醒 本文内容都是本人亲身经历的,一个一个安装下载测试所感,当然如果你更想用傻瓜式集成包的,那还是跳过这篇文章吧. 当然我不推荐这篇文章的操作,因为我用了差不多1h才有一副图,有N卡,就用N卡,这 ...

最新文章

  1. 清华校友打造Python调试神器
  2. 狼抓兔子(平面图转对偶图)
  3. 关于微信手机端IOS系统中input输入框无法输入的问题
  4. 爬虫+数据分析,制作一个世界疫情人数增长动态柱状竞赛图2
  5. c++中结构体套结构体用 = {0}初始化编译报错解决办法(用memset或者={})(error: invalid conversion)
  6. LIGHTOJ 1005(组合数学)
  7. boost::foreach模块非常量右值的测试程序
  8. docker 删除映像_如何在Docker中删除映像和容器
  9. 是做生意还是做事业,这是一个问题。
  10. 使用手机模拟器与android操作系统
  11. python复利代码_python复利
  12. Keil下载代码闪退的问题(已解决)
  13. 80老翁谈人生(168):北京大学欠老翁的情,欠老翁的债
  14. 《SysML精粹》学习记录--第六章
  15. html中ch是什么单位,【CSS】ch(单位名称)
  16. elementUI使用v-for创建无限级导航栏—— 递归组件
  17. java调用jasper_Java开源报表Jasper入门(2) -- 使用JasperSoft Studio创建一个简单报表
  18. GUI 界面的免费音乐下载 支持批量下载
  19. 烟火里的尘埃 - 郁欢
  20. 软件工程课程的第一次作业

热门文章

  1. unity 音乐小游戏
  2. 大面积瘫痪!昨晚,B站、A站集体崩了...
  3. [附源码]JSP+ssm计算机毕业设计武威市旅游资源管理系统0mre2【源码、数据库、LW、部署】
  4. 《Android安全攻防权威指南》(图灵社区)读后感
  5. 【matlab之QQ图】
  6. win11重建图标缓存
  7. 基于JQData的有效前沿组合及投资组合优化
  8. 反卷积原理和实际代码详细讲解!
  9. 将iPad/iPhone作为电脑的音箱扬声器的方法
  10. js实现鼠标移入移出改变图片路径问题