zoukankan      html  css  js  c++  java
  • 有序读出文件夹下的文件

    file_names = fnmatch.filter(os.listdir(folder), '*.jpeg')

    # take care of folder sequence, 1.jpeg, 2.jpeg, 3.jpeg

    coll.sort(key=lambda x:int(x[:-5]))

    or
    file_names.sort(key=lambda x:len(x))

    1. os.listdir()概述

        os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

    例如:

        dir ='F:/Home_01/img'#当前目录

        filenames=os.listdir(dir)#filenames存储dir下的所有文件名。

        注意:os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的,如下图,则filenames[0]有可能为‘22.jpg’,而不是我们所希望的‘11.jpg’。

        解决办法:

        filenames=os.listdir(dir)

        filenames.sort(key=lambda x:int(x[:-4]))#倒着数第四位'.'为分界线,按照‘.’左边的数字从小到大排序

        此时乱序就变成了顺序:filenames=['11.jpg' , '22.jpg' , '30.jpg'],即filenames[1]='22.jpg';当然可根据自己文件名的特征去决定int(x[:?])中?的值,从哪里去分割排序。

  • 相关阅读:
    递归 迷宫问题
    中缀表达式转后缀表达式
    栈实现后缀表达式计算

    单向环形链表
    站在巨人的肩上
    C#自宿主API,不依赖IIS
    MySQL 安装失败解决办法
    第一话
    村上春树《眠》读书笔记
  • 原文地址:https://www.cnblogs.com/andy-0212/p/11045778.html
Copyright © 2011-2022 走看看