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

Pythonimport 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()来关闭这个内部对象。

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

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/355.html

python fileinput_Python模块学习:fileinput相关推荐

  1. python logging模块学习

    python 的日志logging模块学习 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.in ...

  2. python 各种模块学习

    from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...

  3. python fileinput_python模块fileinput

    在python脚本语言中的fileinput模块可以对一个或多个文件的内容进行迭代,编历操作. 常用的函数: fileinput.input()          #读取文件的内容 fileinput ...

  4. python fileinput_Python文件替代fileinput模块

    Python文件替代fileinput模块 一,文件替代:此时对文件中的内容不真实替代,跟sed 不加-i,并且在屏幕上会打印出来 import fileinput for line in filei ...

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

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

  6. Python日志模块学习,从这里开始...

    消息与记录 刚才谈到了关于历史账号的文章与消息记录,所以今天想跟大家聊聊Python关于消息记录的模块:日志管理模块 logging. 学习python的第一课,肯定都是print('Hello Wr ...

  7. python Re模块学习

    最近自己学习了正则表达式,自我感觉已经能够满足日常的使用了,需要去了解python提供的匹配正则表达式的工具包,学习参考官方文档,博客相当于笔记,毕竟人家官方文档才是最权威的. 文章目录 一.写在前面 ...

  8. python serial模块学习

    python serial 学习 模块介绍 层次 SerialBase 入参(串口参数) 实例变量 总结 Serialwin32 执行文件选择 主要函数 模块介绍 python对于串口,有封装好的se ...

  9. 【Python】模块学习之ConfigParser读写配置信息

    前言 使用配置文件可以在不修改程序的情况下,做到对程序功能的定制.Python 使用自带的configParser模块可以很方便的读写配置文件的信息. configParser 支持的方法 Confi ...

最新文章

  1. 通过Shell脚本将VSS项目批量创建并且提交迁移至Gitlab
  2. 安装tensorflow-gpu==1.13.1成功案例
  3. centos 修改shm
  4. Hibernate修改命名策略
  5. 文档如何清除html,html清除浏览器缓存.docx
  6. [转]把复杂事物简明化
  7. AD排错最佳实践—— 技巧与捷径-笔记
  8. 谷歌发布机器学习云平台 开放语音识别API
  9. 利用HP优盘启动盘格式化工具制作U盘Dos启动盘
  10. LBP算法,空间金字塔 文献阅读报告《基于差分量化局部二值模式的人脸反欺诈算法研究》
  11. java之jsoup爬虫
  12. 104道 CSS 面试题,助你查漏补缺
  13. 【贴图操作】怎么用sp啊?
  14. DHCPv6(dhcpv6配置)
  15. 算法高级(45)-阿尔法狗到底有多厉害?
  16. 伤害世界怎么自建服务器,伤害世界服务器架设图文教程
  17. BabaSSL:支持半同态加密算法 EC-ElGamal
  18. 浏览器支持的视频和音频格式
  19. oracle时间字段加几小时
  20. java 确认邮箱地址的可达性

热门文章

  1. 模式识别(Pattern Recognition)学习笔记(十九)--多层感知器模型(MLP)
  2. 让我们习惯在底层用C++宏生成代码
  3. 和平精英火力团竞模式怎么玩才能获得胜利?
  4. 算法-蓝桥杯习题(5-1)
  5. 每天一个python段子(2):一句话http服务器
  6. 效果最好的网络营销软件软件是什么?
  7. CSS基本知识点——带你走进CSS的新世界
  8. 华为设备如何将接口配置为中继模式_华为WS5200无线桥接(Wi-Fi中继)怎么设置?...
  9. lol什么服务器出无限活力,LOL2017无限火力模式归来 测试服2月更新汇总
  10. 判断用户离线在线隐身