典型用法:
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() 关闭当前行,打开下一文件
举例:
import fileinput
for line in fileinput.input("/etc/selinux/config"):
line = line.replace("SELINUX=enforcing","SELINUX=disabled")
print line
import fileinput
for line in fileinput.input("config",inplace=1):
line = line.replace("SELINUX=enforcing","SELINUX=disabled")
print line
import fileinput
for line in fileinput.input("config",inplace=1,backup=‘.bak‘):
line = line.replace("SELINUX=enforcing","SELINUX=disabled")
print line,
#!/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 模块,布布扣,bubuko.com
原文地址:http://my.oschina.net/zhailibao2010/blog/290023