python fileinput 模块
2014-07-12 19:29
357 查看
典型用法:
input 参数为空时,获取sys.argv[1:] 作为参数。如果文件名是“-”也是从标准输入获取参数。
input参数可以是一个List,也可以是一个文件名。
函数:
fileiineno() 返回在文件中所占的行数。
filename() 返回当前所读文件名
input(files=None, inplace=0, backup='', bufsize=0, mode='r', openhook=None)
input([files[, inplace[, backup[, mode[, openhook]]]]])
files: 文件名字或者文件名列表 inplace:是否替换源文件,backup:备份源文件,文件名用什么结尾。
isfirstline() 是否是文件的第一行
isstdin() 返回是否从标注输入读取的
lineno() 返回一共读取的行数
nextfile() 关闭当前行,打开下一文件
举例:
文件替代:此时对文件中的内容不真实替代,跟sed 不加-i,并且在屏幕上会打印出来
加上参数inplace=1则会直接操作文件,并且原文件每行还会插入一行空行,在屏幕并输出。如果inplace=0则跟上面的效果一样
修改文件之前,先备份一份,备份的文件名为config.bak
去掉上面的空行,在line后面加逗号。
查找过滤系统messages文件
import fileinput for line in fileinput.input(): process(line)
input 参数为空时,获取sys.argv[1:] 作为参数。如果文件名是“-”也是从标准输入获取参数。
input参数可以是一个List,也可以是一个文件名。
函数:
fileiineno() 返回在文件中所占的行数。
filename() 返回当前所读文件名
input(files=None, inplace=0, backup='', bufsize=0, mode='r', openhook=None)
input([files[, inplace[, backup[, mode[, openhook]]]]])
files: 文件名字或者文件名列表 inplace:是否替换源文件,backup:备份源文件,文件名用什么结尾。
isfirstline() 是否是文件的第一行
isstdin() 返回是否从标注输入读取的
lineno() 返回一共读取的行数
nextfile() 关闭当前行,打开下一文件
举例:
文件替代:此时对文件中的内容不真实替代,跟sed 不加-i,并且在屏幕上会打印出来
import fileinput for line in fileinput.input("/etc/selinux/config"): line = line.replace("SELINUX=enforcing","SELINUX=disabled") print line
加上参数inplace=1则会直接操作文件,并且原文件每行还会插入一行空行,在屏幕并输出。如果inplace=0则跟上面的效果一样
import fileinput for line in fileinput.input("config",inplace=1): line = line.replace("SELINUX=enforcing","SELINUX=disabled") print line
修改文件之前,先备份一份,备份的文件名为config.bak
import fileinput for line in fileinput.input("config",inplace=1,backup='.bak'): line = line.replace("SELINUX=enforcing","SELINUX=disabled") print line,
去掉上面的空行,在line后面加逗号。
查找过滤系统messages文件
#!/user/bin/env python #coding=UTF8 import os import fileinput import re from sys import exit logfiles = os.listdir("/var/log/") pattern="messages-*\d*" msgfiles=[] for log in logfiles: if re.match(pattern,log): print log msgfiles.append("/var/log/"+log) print(msgfiles) while True: find_str = raw_input("please input search key word:") find_str = find_str.strip() print(find_str) if find_str =='': continue elif find_str.lower() =="q" or find_str.lower() =="quit": print('bye bye!') exit(0) else: for line in fileinput.input(msgfiles): if find_str in line: print("filename:%s \nfileline:%s\ncontent:%s" %(fileinput.filename(),fileinput.filelineno(),line))
相关文章推荐
- Python文件替代fileinput模块
- Python中的fileinput模块和tempfile模块
- Python使用os模块和fileinput模块来操作文件目录
- 使用fileinput模块进行原地修改文件 分类: python 小练习 2013-08-13 16:47 618人阅读 评论(0) 收藏
- Python fileinput模块使用介绍
- Python fileinput模块使用实例
- Python使用os模块和fileinput模块来操作文件目录
- Python中的fileinput模块的简单实用示例
- Python Fileinput 模块
- Python中fileinput模块介绍
- python使用fileinput模块实现逐行读取文件的方法
- python中的fileinput模块整理
- Python中fileinput模块
- Python模块学习 ---- fileinput - 成长的点滴,记录与分享 - 博客频道 - CSDN.NET
- Python之fileinput 模块
- Python中fileinput模块介绍
- Python中的fileinput模块和tempfile模块
- Python中fileinput模块使用
- python模块fileinput
- Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)