Python Fileinput 模块
来源:互联网 发布:游戏源码是什么 编辑:程序博客网 时间:2024/05/17 12:02
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。
【默认格式】
fileinput.input (files='filename', inplace=False, backup='', bufsize=0, mode='r', openhook=None)
1 files: #文件的路径列表,默认是stdin方式,多文件['1.txt','2.txt',...]2 inplace: #是否将标准输出的结果写回文件,默认不取代3 backup: #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则会自动覆盖。4 bufsize: #缓冲区大小,默认为0,如果文件很大,可以修改此参数,一般默认即可5 mode: #读写模式,默认为只读6 openhook: #该钩子用于控制打开的所有文件,比如说编码方式等;
【常用函数】
1 fileinput.input() #返回能够用于for循环遍历的对象2 fileinput.filename() #返回当前文件的名称3 fileinput.lineno() #返回当前已经读取的行的数量(或者序号)4 fileinput.filelineno() #返回当前读取的行的行号5 fileinput.isfirstline() #检查当前行是否是文件的第一行6 fileinput.isstdin() #判断最后一行是否从stdin中读取7 fileinput.close() #关闭队列
【使用实例】
1、使用fileinput查看文件所有行
1 #cat user.txt 2 Jack 3 Rain 4 Tom 5 Suse 6 #################################################### 7 #cat f_replace.py 8 #!/usr/bin/env python 9 import fileinput10 for line in fileinput.input('user.txt'):11 print line,12 ####################################################
13 #执行代码14 #python f_replace.py15 #输出结果16 Jack17 Rain18 Tom19 Suse
2、使用fileinput修改文件并备份原文件
1 #ls ./
2 user.txt
3 #cat user.txt 4 Jack 5 Rain 6 Tom 7 Suse 8 #################################################### 9 #cat f_replace.py10 #!/usr/bin/env python11 import fileinput12 for line in fileinput.input('user.txt',backup='.bak',inplace=1):13 line = line.replace('Rain','Jerry')14 print line,15 ####################################################16 #执行代码
17 #python f_replace.py18 #输出结果
19 #ls ./
20 user.txt user.txt.bak
21 #cat user.txt22 Jack23 Jerry24 Tom25 Suse
4、使用fileinput输出当前行号和行内容
1 #cat user.txt 2 Jack 3 Rain 4 Tom 5 Suse 6 #################################################### 7 #cat f_replace.py 8 #!/usr/bin/env python 9 import fileinput10 for line in fileinput.input('user.txt'):11 lineno = fileinput.lineno()12 print lineno,line,13 ####################################################14 #执行代码15 #python f_replace.py16 #输出结果17 1 Jack18 2 Rain19 3 Tom20 4 Suse
5、使用fileinput判断是否为第一行
1 #cat user.txt 2 Jack 3 Rain 4 Tom 5 Suse 6 #################################################### 7 #cat f_replace.py 8 #!/usr/bin/env python 9 import fileinput10 for line in fileinput.input('user.txt'):11 if fileinput.isfirstline():12 print line,13 break14 ####################################################15 #执行代码16 #python f_replace.py17 #输出结果18 Jack
6、使用fileinput过滤系统文件message
1 #!/user/bin/env python 2 #coding=UTF8 3 4 import os 5 import fileinput 6 import re 7 from sys import exit 8 logfiles = os.listdir("/var/log/") 9 pattern="messages-*\d*"10 msgfiles=[]11 for log in logfiles:12 if re.match(pattern,log):13 print log14 msgfiles.append("/var/log/"+log)15 print(msgfiles)16 while True:17 find_str = raw_input("please input search key word:")18 find_str = find_str.strip()19 print(find_str)20 if find_str =='':21 continue22 elif find_str.lower() =="q" or find_str.lower() =="quit":23 print('bye bye!')24 exit(0)25 else:26 for line in fileinput.input(msgfiles):27 if find_str in line:28 print("filename:%s \nfileline:%s\ncontent:%s" %(fileinput.filename(),fileinput.filelineno(),line))
分类: Python
阅读全文
0 0
- python fileinput模块介绍
- Python fileinput 模块
- Python模块学习 ---- fileinput
- Python中fileinput模块
- Python Fileinput 模块
- python中的fileinput模块整理
- Python中fileinput模块介绍
- Python中fileinput模块介绍
- Python中fileinput模块介绍
- Python中fileinput模块介绍
- Python资料之fileinput模块
- Python中的fileinput模块和tempfile模块
- python标准库fileinput模块学习
- python小模块---fileinput
- fileinput模块
- python fileinput
- python fileinput中的description
- Python开发--fileinput
- 深入理解Java:注解(Annotation)--注解处理器
- Android6.0运行时权限
- 解析DATE
- js本地储存Cookie和Session简单对比
- 强弟弟胡牌算法python版本
- Python Fileinput 模块
- Linux中断和异常
- js本地储存方式有那些各种储存方案
- 一个简易的文件管理器
- java子线程访问网络
- Android WebView和Native交互的3种方式总结
- cordova 安卓 android 物理 返回键 监听和处理
- 入职培训记录与心得
- java对数组进行排序