python fileinput_Python模块学习:fileinput
这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表。当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:”日期时间@用户名@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相关推荐
- python logging模块学习
python 的日志logging模块学习 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.in ...
- python 各种模块学习
from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...
- python fileinput_python模块fileinput
在python脚本语言中的fileinput模块可以对一个或多个文件的内容进行迭代,编历操作. 常用的函数: fileinput.input() #读取文件的内容 fileinput ...
- python fileinput_Python文件替代fileinput模块
Python文件替代fileinput模块 一,文件替代:此时对文件中的内容不真实替代,跟sed 不加-i,并且在屏幕上会打印出来 import fileinput for line in filei ...
- python fileinput_python文件处理fileinput使用方法详解
这篇文章主要介绍了python文件处理fileinput使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 fileinput模块 ...
- Python日志模块学习,从这里开始...
消息与记录 刚才谈到了关于历史账号的文章与消息记录,所以今天想跟大家聊聊Python关于消息记录的模块:日志管理模块 logging. 学习python的第一课,肯定都是print('Hello Wr ...
- python Re模块学习
最近自己学习了正则表达式,自我感觉已经能够满足日常的使用了,需要去了解python提供的匹配正则表达式的工具包,学习参考官方文档,博客相当于笔记,毕竟人家官方文档才是最权威的. 文章目录 一.写在前面 ...
- python serial模块学习
python serial 学习 模块介绍 层次 SerialBase 入参(串口参数) 实例变量 总结 Serialwin32 执行文件选择 主要函数 模块介绍 python对于串口,有封装好的se ...
- 【Python】模块学习之ConfigParser读写配置信息
前言 使用配置文件可以在不修改程序的情况下,做到对程序功能的定制.Python 使用自带的configParser模块可以很方便的读写配置文件的信息. configParser 支持的方法 Confi ...
最新文章
- 通过Shell脚本将VSS项目批量创建并且提交迁移至Gitlab
- 安装tensorflow-gpu==1.13.1成功案例
- centos 修改shm
- Hibernate修改命名策略
- 文档如何清除html,html清除浏览器缓存.docx
- [转]把复杂事物简明化
- AD排错最佳实践—— 技巧与捷径-笔记
- 谷歌发布机器学习云平台 开放语音识别API
- 利用HP优盘启动盘格式化工具制作U盘Dos启动盘
- LBP算法,空间金字塔 文献阅读报告《基于差分量化局部二值模式的人脸反欺诈算法研究》
- java之jsoup爬虫
- 104道 CSS 面试题,助你查漏补缺
- 【贴图操作】怎么用sp啊?
- DHCPv6(dhcpv6配置)
- 算法高级(45)-阿尔法狗到底有多厉害?
- 伤害世界怎么自建服务器,伤害世界服务器架设图文教程
- BabaSSL:支持半同态加密算法 EC-ElGamal
- 浏览器支持的视频和音频格式
- oracle时间字段加几小时
- java 确认邮箱地址的可达性
热门文章
- 模式识别(Pattern Recognition)学习笔记(十九)--多层感知器模型(MLP)
- 让我们习惯在底层用C++宏生成代码
- 和平精英火力团竞模式怎么玩才能获得胜利?
- 算法-蓝桥杯习题(5-1)
- 每天一个python段子(2):一句话http服务器
- 效果最好的网络营销软件软件是什么?
- CSS基本知识点——带你走进CSS的新世界
- 华为设备如何将接口配置为中继模式_华为WS5200无线桥接(Wi-Fi中继)怎么设置?...
- lol什么服务器出无限活力,LOL2017无限火力模式归来 测试服2月更新汇总
- 判断用户离线在线隐身