【Python】模块之fileinput

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

时间: 2024-10-21 18:27:40

【Python】模块之fileinput的相关文章

python-如何进行Python优化使得Python模块能够得到2倍性能提升

问题描述 如何进行Python优化使得Python模块能够得到2倍性能提升 目前要对一个含有Python模块和C++模块的项目(Python模块调用C++模块)进行优化,对方公司希望我们团队实现一个提升2倍python模块性能的优化编译器 求问应用什么技术可以使得python编译器能够获得2倍性能提升并且不存在C扩展性弱的问题?(目前pypy虽然有5倍,6性能提升但是C扩展弱不支持我这个项目) 目前我考虑 去修改pypy的C扩展性,牺牲pypy一部分的性能提升空间,来换取它对C扩展模块的支持,或

Python模块搜索概念介绍及模块安装方法介绍

  这篇文章主要介绍了Python模块搜索概念介绍及模块安装方法介绍,本文详细讲解了import模块的运作原理,搜索路径的过程以及模块安装的多种方法,需要的朋友可以参考下 [import模块] 和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件. 导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下步骤, 1. 找到模块文件 2. 编译成位码 3. 执行模块中的代码来创建所定义的模块 并生成.pyc字节码文件,这三个步骤只在程序执行时,模

python模块创建,如何封装C#中定义的函数

问题描述 python模块创建,如何封装C#中定义的函数 我的平台包含了python脚本编写和执行,其中我在平台中有一个函数是 public class FnValues { public int Pn; public string Fn; public string [] Values; } 而我在python脚本的模块函数中用到了这个函数: def Get_Meter_Reading(cs,a): fnValue1=FnValues(); fnValue1.Fn="30" fnVa

python模块安装问题-python模块的安装问题求大神指点

问题描述 python模块的安装问题求大神指点 如何在wins7-64位系统下安装rpy2模块,怎么设置r的环境,求大神指点,谢谢了 解决方案 Python安装PyGraphics包 (使用media模块)问题 解决方案二: http://blog.sina.com.cn/s/blog_6caea8bf0100vo9l.html

python模块之email: 电子邮件编码解码 (一、解码邮件)

python模块之email: 电子邮件编码解码 (一.解码邮件) python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Received: from 192.168.208.56 ( 192.168.208.56 [192.168.208.56] ) by ajax-webmail-wmsvr37 (Coremail) ; Thu, 12 Apr 200

python 模块 chardet下载方法及介绍

来源:http://blog.csdn.net/aqwd2008/article/details/7506007 python 模块 chardet下载及介绍 在处理字符串时,常常会遇到不知道字符串是何种编码,如果不知道字符串的编码就不能将字符串转换成需要的编码.面对多种不同编码的输入方式,是否会有一种有效的编码方式?chardet是一个非常优秀的编码识别模块. chardet 是python的第三方库,需要下载和安装.下载的地址有: 1.推荐地址: http://download.csdn.n

pyodbc 3.0.5发布 Python模块

pyodbc 是一个Python模块,它允许您使用ODBC连接到Windows.Linux 和 Mac OS X上的任何数据库.它实现了Python数据库API规范,并添加额外的功能使其简化数据库编程. pyodbc 3.0.5该版本修复了"功能序列"没有被清除的错误,以及目录函数执行准备SQL引起的错误. 软件信息:http://code.google.com/p/pyodbc/ 下载地址:http://code.google.com/p/pyodbc/downloads/list

python 解析XML python模块xml.dom解析xml实例代码_python

一 .python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件 doc.documentElement获取XML文档对象 node.getAttribute(AttributeName)获取XML节点属性值 node.getElementsByTagName(TagName)获取XML节点对象集合 node.childNodes #返回子节点列表. node.childNodes[index].nodeValue获取XML节点值 nod

深入分析在Python模块顶层运行的代码引起的一个Bug_python

然后我们在Interactive Python prompt中测试了一下: >>> import subprocess >>> subprocess.check_call("false") 0 而在其他机器运行相同的代码时, 却正确的抛出了错误: >>> subprocess.check_call("false") Traceback (most recent call last): File "&qu

深入浅析 C++ 调用 Python 模块_C 语言

一般开发过游戏的都知道Lua和C++可以很好的结合在一起,取长补短,把Lua脚本当成类似动态链接库来使用,很好的利用了脚本开发的灵活性.而作为一门流行的通用型脚本语言Python,也是可以做到的.在一个C++应用程序中,我们可以用一组插件来实现一些具有统一接口的功能,一般插件都是使用动态链接库实现,如果插件的变化比较频繁,我们可以使用Python来代替动态链接库形式的插件(堪称文本形式的动态链接库),这样可以方便地根据需求的变化改写脚本代码,而不是必须重新编译链接二进制的动态链接库.灵活性大大的