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 socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
python对数组进行反转的方法
May 20 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
详解Python3序列赋值、序列解包
May 14 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
python super()函数的基本使用
Sep 10 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
python 实现mysql自动增删分区的方法
Apr 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函数http_build_query使用详解
2014/08/20 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
vue按需加载组件webpack require.ensure的方法
2017/12/13 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
Python入门篇之文件
2014/10/20 Python
Python中使用不同编码读写txt文件详解
2015/05/28 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
深入浅析python 中的匿名函数
2018/05/21 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
对Python函数设计规范详解
2019/07/19 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
电子商务专业实习生自我鉴定
2013/09/24 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
高中军训感言500字
2014/02/24 职场文书
2014年作风建设工作总结
2014/10/29 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书