Python fileinput模块使用实例


Posted in Python onMay 28, 2015

fileinput模块可以遍历文本文件的所有行.它的工作方式和readlines很类似,不同点在于,它不是将全部的行读到列表中而是创建了一个xreadlines对象.

下面是fileinput模块中的常用函数
input()     #它会返回能够用于for循环遍历的对象.
filename() #返回当前文件的名称
lineno()    #返回当前(累计)的行数
filelineno() #返回当前文件的行数
isfirstline() #检查当前行是否是文件的第一行

#!/bin/env python

#coding=utf-8

import fileinput

import sys

import glob

import string

'''  处理一个文本文件  '''

for line in fileinput.input("tab.sh"):    

    print line

'''处理多个文本文件 并输出行号'''

for line in fileinput.input(glob.glob("*.sh")):

    if fileinput.isfirstline():

       print "------ reading %s ------\n" % fileinput.filename()  

    print str(fileinput.lineno()) + " " + line 

例子:
[root@rac1 admin]# python ftest.py    

abc_permission_collection
abc_user
abc_user_group_relationship
------ reading c.sh ------
1 c
2 cc
3 ccc
------ reading tab.sh ------
4 abc_permission_collection
5 abc_user
6 abc_user_group_relationship
[root@rac1 admin]#
Python 相关文章推荐
使用Python的Twisted框架编写简单的网络客户端
Apr 16 Python
python构建自定义回调函数详解
Jun 20 Python
VSCode下好用的Python插件及配置
Apr 06 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
Python考拉兹猜想输出序列代码实践
Jul 05 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
python实现各种插值法(数值分析)
Jul 30 Python
python如何保证输入键入数字的方法
Aug 23 Python
PHP统计代码行数的小代码
Sep 19 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
Python sys.argv用法实例
May 28 #Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 #Python
Python中的with...as用法介绍
May 28 #Python
python关键字and和or用法实例
May 28 #Python
Python yield 使用浅析
May 28 #Python
Python中super的用法实例
May 28 #Python
Python中的super用法详解
May 28 #Python
You might like
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php文件上传的两种实现方法
2016/04/04 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
深入理解Javascript闭包 新手版
2010/12/28 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python中处理时间的几种方法小结
2015/04/09 Python
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
matplotlib绘制动画代码示例
2018/01/02 Python
python处理“
2019/06/10 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
幼儿园运动会加油词
2014/02/14 职场文书
《春晓》教学反思
2014/04/20 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
同学聚会通知书
2015/04/20 职场文书
贷款收入证明范本
2015/06/12 职场文书
小学科学课教学反思
2016/02/23 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python