Python fileinput模块使用实例

yipeiwu_com6年前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]#

相关文章

解决pandas展示数据输出时列名不能对齐的问题

列名用了中文的缘故,设置pandas的参数即可, 代码如下: import pandas as pd #这两个参数的默认设置都是False pd.set_option('dis...

python list使用示例 list中找连续的数字

线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,如:神魔:S106-109,s123,s125御剑: s106-109,s123,s125复制代码...

Python+threading模块对单个接口进行并发测试

Python+threading模块对单个接口进行并发测试

本文实例为大家分享了Python threading模块对单个接口进行并发测试的具体代码,供大家参考,具体内容如下 本文知识点 通过在threading.Thread继承类中重写run(...

python中如何使用insert函数

这篇文章主要介绍了python中如何使用insert函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 描述 insert() 函数用...

详解使用 pyenv 管理多个版本 python 环境

 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版...