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

 更新时间:2015年07月09日 12:05:13   投稿:goldensun   我要评论
这篇文章主要介绍了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()来关闭这个内部对象。

相关文章

  • pandas.DataFrame选取/排除特定行的方法

    pandas.DataFrame选取/排除特定行的方法

    今天小编就为大家分享一篇pandas.DataFrame选取/排除特定行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python Web框架Tornado运行和部署

    Python Web框架Tornado运行和部署

    这篇文章主要介绍了Python Web框架Tornado运行和部署的相关资料,需要的朋友可以参考下
    2016-04-04
  • python+Django+apache的配置方法详解

    python+Django+apache的配置方法详解

    这篇文章主要介绍了python+Django+apache的配置方法,详细分析了python+Django+apache的安装与配置步骤,并分析了相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • OpenCV 轮廓检测的实现方法

    OpenCV 轮廓检测的实现方法

    这篇文章主要介绍了OpenCV 轮廓检测的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python文件的md5加密方法

    python文件的md5加密方法

    这篇文章主要介绍了python文件的md5加密方法,涉及Python针对文件的读取与字符串加密的相关技巧,需要的朋友可以参考下
    2016-04-04
  • python 性能优化方法小结

    python 性能优化方法小结

    本文主要介绍了python 提高性能的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • python机器学习实战之树回归详解

    python机器学习实战之树回归详解

    这篇文章主要为大家详细介绍了python机器学习实战之树回归的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 介绍Python中的一些高级编程技巧

    介绍Python中的一些高级编程技巧

    这篇文章主要介绍了介绍Python中的一些高级编程技巧,包括推导师和装饰器等重要的进阶知识点,皆为深入学习Python开发的必备基本功,需要的朋友可以参考下
    2015-04-04
  • Python的组合模式与责任链模式编程示例

    Python的组合模式与责任链模式编程示例

    这篇文章主要介绍了Python的组合模式与责任链模式编程示例,组合模式与责任链模式都属于Python的设计模式,需要的朋友可以参考下
    2016-02-02
  • Python利用matplotlib生成图片背景及图例透明的效果

    Python利用matplotlib生成图片背景及图例透明的效果

    这篇文章主要给大家介绍了Python利用matplotlib生成图片背景及图例透明效果的相关资料,文中给出了详细的示例代码,相信对大家具有一定的参考家价值,需要的朋友们下面来一起学习学习吧。
    2017-04-04

最新评论