Python fileinput模块使用实例

803次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8