【Python】模組之fileinput

楊奇龍發表於2013-06-01
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]# 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-762672/,如需轉載,請註明出處,否則將追究法律責任。

相關文章