`
qepwqnp
  • 浏览: 106381 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python模块学习 ---- fileinput

阅读更多

这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表。当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:”日期时间@用户名@IP“,这样的日志文件第天生成一个。所以,我们只要编历这些日志文件,将所有的登陆信息提取出来,并重新组织数据格式就可以了。用python写一个分析工具非常简单,你会说,用glob获取所有的日志文件,然后对每个日志文件都open(logfile),再一行一行的读取;或者用os.walk,也很简单。其实,标准库提供了另一个辅助模块,我们可以非常方便的完成这个工作,那就是fileinput。下面我们就通过fileinput来编历所有的D盘下的文本文件,将每一行的长度打印出来:

import fileinput
from glob import glob

for line in fileinput.input(glob(r'd:\*.txt')):
    print fileinput.lineno(), u'文件:', fileinput.filename(), \
            u'行号:', fileinput.filelineno(), u'长度:', len(line.strip('\n'))
fileinput.close()

代码非常简单明了。input()接受要编历的所有文件路径的列表,通过filename()返回当前正在读取的文件的文件名,filelineno()返回当前读取的行的行号,而lineno()返回当前已经读取的行的数量(或者序号)。其实,模块内部通过FileInput类来实现文件的编历读取,input()在内部创建了该类的一个对象,当处理完数据行之后,通过fileinput.close()来关闭这个内部对象。

模块非常简单,详细的内容可以参数标准库手册。

分享到:
评论

相关推荐

    Python fileinput模块使用实例

    主要介绍了Python fileinput模块使用实例,本文讲解了典型用法、基本格式、默认格式、常用函数和常见例子等内容,需要的朋友可以参考下

    Python fileinput模块使用介绍

    fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。 ...

    python使用fileinput模块实现逐行读取文件的方法

    本文实例讲述了python使用fileinput模块实现逐行读取文件的方法。分享给大家供大家参考。具体实现方法如下: #-------------------------------- # Name: read_lines.py # Author: Kevin Harris # Last Modified: ...

    Python使用os模块和fileinput模块来操作文件目录

    主要介绍了Python编程中使用os模块和fileinput模块来操作文件的方法,包括获取路径和创建爱你删除目录等基本操作的例子,需要的朋友可以参考下

    python模块详解

    python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....

    Python fileinput模块如何逐行读取多个文件

    Python 提供了 fileinput 模块,通过该模块中的 input() 函数,我们能同时打开指定的多个文件,还可以逐个读取这些文件中的内容。 fileinput 模块中 input() 该函数的语法格式如下: fileinput.input(files=”...

    解决有趣的问题的python脚本集合-python

    Knuth 的跳舞链接算法的实现,带有一个演示来解决 N-皇后问题 disjoint_set.py - Disjoint set 是一个非常重要的数据结构,这是我的天真实现 fileinput.py - 我的python标准库文件输入模块的实现 go_repl.py - ...

    python常用模块

    这个模块提供了一个轻便的方法使用要依赖操作系统的功能。 如何你只是想读或写文件,请使用open() ...fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。

    Python中的fileinput模块的简单实用示例

    主要介绍了Python中的fileinput模块实用示例,文中的示例是使用其来便利硬盘分区下的文本文件并打印其中行的长度,需要的朋友可以参考下

    python文件处理fileinput使用方法详解

    这篇文章主要介绍了python文件处理fileinput使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、介绍 fileinput模块可以对一个或多个文件中的...

    python标准库OS模块详解

    python标准库OS模块简介 os就是“operating system”的缩写,...如果要逐行读取多个文件,建议使用fileinput模块; 要创建临时文件或路径,建议使用tempfile模块; 要进行更高级的文件和路径操作则应当使用shuti

    node-fileinput:一个类和函数,用于在标准输入或 Node.JS 的文件列表上快速编写循环

    深受 Python 文件模块的启发。安装 $ npm install fileinput典型用法 var fileinput = require ( 'fileinput' ) ;fileinput . input ( ) . on ( 'line' , function ( line ) { console . log ( fileinput . lineno ...

    艾伯特《Python标准库》中文版

    fileinput 模块 o 2.3. shutil 模块 o 2.4. tempfile 模块 o 2.5. StringIO 模块 o 2.6. cStringIO 模块 o 2.7. mmap 模块 o 2.8. UserDict 模块 o 2.9. UserList 模块 o 2.10. UserString 模块 www.aibbt.com 让...

    Python中sys模块功能与用法实例详解

    本文实例讲述了Python中sys模块功能与用法。分享给大家供大家参考,具体如下: sys-系统特定的参数和功能 ...要循环标准输入或命令行上给出的文件列表,请参阅fileinput模块。 sys.byteorder 本机字节顺序的

    python标准库OS模块函数列表与实例全解

    Python OS模块库详解 os就是“operating system”的缩写,顾名思义...如果要逐行读取多个文件,建议使用fileinput模块; 要创建临时文件或路径,建议使用tempfile模块; 要进行更高级的文件和路径操作则应当使用shutil

Global site tag (gtag.js) - Google Analytics