Python fileinput模块使用实例

yipeiwu_com7年前Python基础

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

相关文章

快速解决PyCharm无法引用matplotlib的问题

序 笔者今天用PyCharm安装了一些数据分析的时候比较有用的模块,系统是ubuntu,说实话,ubuntu(linux)在这方面还真是很方便,几条语句就把这几个模块下载安装编译过了,比...

Numpy将二维数组添加到空数组的实现

使用append函数将一个二维数组添加到一个空数组,关键是维度要对的上 a=np.empty([0,3]) b = np.array([[1,2,3],[4,5,6]]) c=[[7...

python绘图库Matplotlib的安装

python绘图库Matplotlib的安装

本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地...

Django中使用CORS实现跨域请求过程解析

跨域请求: 请求url包含协议、网址、端口,任何一种不同都是跨域请求。 1.安装cors模块 pip install django-cors-headers 2.添加应用 IN...

Python中的集合类型知识讲解

Python中的集合类型知识讲解

集合类型         数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(se...