解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
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[:?])中?的值,从哪里去分割排序。
以上这篇解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python linecache.getline()读取文件中特定一行的脚本
比如: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import linecacheprint linecache.getline('2.1_open.py', 4)将返回我上一节事例代码文件2.1_open.py的第4行文字,输出结果:f = open('/home/evergreen/桌面/test') 查看linecache中的实现(我
-
Python读取文件内容的三种常用方式及效率比较
本文实例讲述了Python读取文件内容的三种常用方式.分享给大家供大家参考,具体如下: 本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readlines() num = 0 for l in fc: tup = l.rstrip('\n').rstrip().split('\t') num = num+1 fo.close() end = time.cl
-
python多线程分块读取文件
本文实例为大家分享了python多线程分块读取文件的具体代码,供大家参考,具体内容如下 # _*_coding:utf-8_*_ import time, threading, ConfigParser ''' Reader类,继承threading.Thread @__init__方法初始化 @run方法实现了读文件的操作 ''' class Reader(threading.Thread): def __init__(self, file_name, start_pos, end_pos):
-
Python用list或dict字段模式读取文件的方法
前言 Python用于处理文本数据绝对是个利器,极为简单的读取.分割.过滤.转换支持,使得开发者不需要考虑繁杂的流文件处理过程(相对于JAVA来说的,嘻嘻).博主自己工作中,一些复杂的文本数据处理计算,包括在HADOOP上编写Streaming程序,均是用Python完成. 而在文本处理的过程中,将文件加载内存中是第一步,这就涉及到怎样将文件中的某一列映射到具体的变量的过程,最最愚笨的方法,就是按照字段的下标进行引用,比如这样子: # fields是读取了一行,并且按照分隔符分割之后的列表 us
-
Python按行读取文件的简单实现方法
1:readline() file = open("sample.txt") while 1: line = file.readline() if not line: break pass # do something file.close() 一行一行得从文件读数据,显然比较慢: 不过很省内存: 测试读10M的sample.txt文件,每秒大约读32000行: 2:fileinput import fileinput for line in fileinput.input("
-
python逐行读取文件内容的三种方法
方法一: 复制代码 代码如下: f = open("foo.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: print line, # 后面跟 ',' 将忽略换行符 # print(line, end = '') # 在 Python 3中使用 line = f.readline()
-
Python3读取文件常用方法实例分析
本文实例讲述了Python3读取文件常用方法.分享给大家供大家参考.具体如下: ''''' Created on Dec 17, 2012 读取文件 @author: liury_lab ''' # 最方便的方法是一次性读取文件中的所有内容放到一个大字符串中: all_the_text = open('d:/text.txt').read() print(all_the_text) all_the_data = open('d:/data.txt', 'rb').read() print(all
-
python2.7读取文件夹下所有文件名称及内容的方法
最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础.废话不多说,记录一下自己的所得. 首先,安装什么的不在本人的温习范围,另,本人使用的是windows下的python2.7版本,且本人相对来说只是小白,各位看官勿喷哈. python,本身来说是一门高级编程语言,有句话怎么说来着,越是高级的程序越简单,这几句话在表面来说是正确的.python它入门简单,有基础的学起来很快就能有简单的应用,但是在非常高的抽象计算中,高级的python程序设计也是非常难学的.我之所以学它,单纯的是
-
Python实现读取文件最后n行的方法
本文实例讲述了Python实现读取文件最后n行的方法.分享给大家供大家参考,具体如下: # -*- coding:utf8-*- import os import time import datetime import math import string def get_last_line(inputfile) : filesize = os.path.getsize(inputfile) blocksize = 1024 dat_file = open(inputfile, 'r') las
-
分析Python读取文件时的路径问题
Python在读取文件内容时的路径问题,值得深究一下.我想讨论的重点还是在绝对路径上面.在这之前我们先看一下 1:相对路径 这张图演示了在相对路径下寻找查找指定文件. open('相对路径演示'\'相对路径示例'.txt)打开的是相对当前运行的程序所在目录. 而我当前运行的程序相对位置在桌面. 所以直接print(lines) 可以看到这个结果 2:绝对路径. 绝对路径的查找方法就不演示了,相信每个人都会找到.但是我想讨论的是几个关于路径中的编码问题,相信这对初学者们有很大的帮助. 2.1:你
随机推荐
- 自己动手做一个SQL解释器
- 批处理命令Start的使用介绍
- Asp.net MVC SignalR来做实时Web聊天实例代码
- js实现不提示直接关闭网页窗口
- Ajax实现异步刷新验证用户名是否已存在的具体方法
- ThinkPHP数据操作方法总结
- PHPer 需要了解的 5 个 Composer 小技巧
- 用Javascript读取中文COOKIE的解决办法
- python进程类subprocess的一些操作方法例子
- PHP获取不了React Native Fecth参数的解决办法
- JS简单实现DIV相对于浏览器固定位置不变的方法
- jQuery 连续列表实现代码
- Bootstrap基本样式学习笔记之标签(5)
- javascript在事件监听方面的兼容性小结
- JS实现淘宝幻灯片效果的实现方法
- javascript温习的一些笔记 基础常用知识小结
- IIS FTP PASV模式下更改端口范围的方法
- linux使用tcpdump命令监视指定网络数据包的方法
- java解析excel文件的方法
- php编写一个简单的路由类