这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表。当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:”日期时间@用户名@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模块next_Python中的fileinput模块的简单实用示例相关推荐

  1. python里try和except用法_Python中的错误和异常处理简单操作示例【try-except用法】...

    本文实例讲述了Python中的错误和异常处理操作.分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 程序编译时会检测语法错误. 当检测到一个错误,解释器会引发一个异常 ...

  2. python导入txt文件并绘图-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  3. python读取txt文件代码-Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #codin ...

  4. Android中MaterialSearchView(搜索框)的简单实用

    Android中MaterialSearchView(搜索框)的简单实用 收搜框架有好多,动画效果满炫酷的就是代码太多,没发抽取他的搜索功能,而这个却比较好用些,直接从代码里面抠出来一个简单实现搜索功 ...

  5. python fileinput模块next_Python中fileinput模块介绍

    fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件 readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次 ...

  6. python io模块_python中的StringIO模块

    原博文 2015-10-23 15:21 − # python中的StringIO模块 标签:python StringIO --- > 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的, ...

  7. python安装django模块_python中安装django模块的方法

    网上搜一下对应的版本号,版本号相对应. 安装django有两种方式: 1.pip安装 pip install django 这个方法我用的时候已经报错.貌似访问被阻挡.我一般都用第二种 2.下载压缩包 ...

  8. python中的random模块_Python中的random模块

    Python 中的 random 模块 1. Python 中的 random 模块用于生成随机数.下面介绍一下 random 模块中最常用 的几个函数. 2. 3. random.random 4. ...

  9. python找不到os模块_Python中的OS模块:您需要知道的一切

    Python是当今业界最强大的编程语言之一.由于Python具有许多特性和强大的通用性,许多复杂的编程目标可以很容易地在Python中实现.在本文中,我们将按照以下顺序讨论Pyt Python是当今业 ...

最新文章

  1. 【讲人话】Angular如何通过@ViewChildren获取实时渲染的动态DOM节点元素(@ViewChild只能获取静态的固定DOM节点)
  2. 【PAT】A1053 Path of Equal Weight
  3. ai画面怎么调大小_ai如何调整对象大小
  4. .net core之ACG小站爬虫(一)
  5. PhoneGap学习地址 / PhoneGap API介绍:Events
  6. html 设置font size,css font-size属性说明
  7. 凸优化有关的数值线性代数知识 4分块消元与Schur补
  8. Stable Baselines/用户向导/矢量化环境
  9. 软件可靠性测试意义,软件可靠性测试方法与目的
  10. 触控笔和pencil笔一样吗?ipad可用的触控笔
  11. 什么是二级域名,什么是二级目录?
  12. 为何要做冒烟测试 如何做冒烟测试
  13. 双11快速拉新促活,容联云智能客服助力商家提升GMV
  14. 计算机教师招聘笔试总结
  15. ggplot2读书笔记9:第六章 标度(二)
  16. 佐治亚大学计算机博士,美国佐治亚大学,光电专业,全奖博士招生
  17. 【云原生之k8s】kubeadm搭建k8s集群
  18. php防止恶意注册,PHP怎样防止用户注册高仿其他人的用户名?
  19. 常用的git命令(实用)
  20. R语言小白学习笔记12—概率分布

热门文章

  1. 协程概念,原理(c++和node.js实现)
  2. ucontext-人人都可以实现的简单协程库
  3. jupyter代码字体大小_Jupyter notebook设置背景主题,字体大小及自动补全代码的操作...
  4. ddr test DCD CFG file CBT
  5. Http请求url参数字符集
  6. Spring Security 学习之LDAP认证
  7. 软件工程--软件设计
  8. VB课本基础知识总结
  9. vmbox下linux共享文件
  10. 高性能服务器架构思路「不仅是思路」