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]#