fileinput模块可以循环一个或多个文本文件的内容

fileinput模块可以循环一个或多个文本文件的内容。

【默认格式】

fileinput.input (files=None, inplace=False, backup=‘‘, bufsize=0, mode=‘r‘, openhook=None)


1

2

3

4

5

6

files:                  #文件的路径列表,默认是stdin方式,多文件[‘1.txt‘,‘2.txt‘,...]

inplace:                #是否将标准输出的结果写回文件,默认不取代

backup:                 #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则                  会自动覆盖。

bufsize:                #缓冲区大小,默认为0,如果文件很大,可以修改此参数,一般默认即可

mode:                   #读写模式,默认为只读

openhook:               #该钩子用于控制打开的所有文件,比如说编码方式等;

【常用函数】


1

2

3

4

5

6

7

fileinput.input()       #返回能够用于for循环遍历的对象

fileinput.filename()    #返回当前文件的名称

fileinput.lineno()      #返回当前已经读取的行的数量(或者序号)

fileinput.filelineno()  #返回当前读取的行的行号

fileinput.isfirstline() #检查当前行是否是文件的第一行

fileinput.isstdin()     #判断最后一行是否从stdin中读取

fileinput.close()       #关闭队列

fileinput中有一些方法:fileinput.isfirstline()取文本文件的第一行;fileinput.filename()返回文本文件的文件名;fileinput.lineno()返回文件的行数。

使用fileinput的方法:

使用实例
1. import fileinput
for eachline in fileinput.input("article.ids.txt"):
    print eachline
实现的方式其实跟readlines是一样的!
2. 打印输入的文件名称
import fileinput
for eachline in fileinput.input("article.ids.txt"):
    print fileinput.filename() #打印article.ids.txt
3. 打印当前行号与行的内容
import fileinput
for eachline in fileinput.input("article.ids.txt"):
print fileinput.lineno() ,eachline
其实这个跟读文件的操作是一样的。Enumerate好像是吧!而且能够读取行号值
4. 返回是否是第一行
import fileinput
for eachline in fileinput.input("article.ids.txt"):
if fileinput.isfirstline():print eachline;break

来源: http://blog.163.com/[email protected]/blog/static/2596603220114462736293/

null

时间: 2024-12-15 01:34:59

fileinput模块可以循环一个或多个文本文件的内容的相关文章

fileinput模块

刚才练习的时候,报如下错误: AttributeError: module 'fileinput' has no attribute 'input',后来Google参考这篇文章https://mail.python.org/pipermail/tutor/2005-June/039321.html发现原来文件名写成fileinput.py了,这样你导入的就不是fileinput这个模块了,而是你的程序,所以就报没有input属性,把程序文件名改成别的就可以了. #!/usr/bin/env p

fileinput模块用法

fileinput模块提供访问一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行,从而进行逐行处理.它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象.而这个对象是通过input方法创建的. input方法创建fileinput模块所属FileInput类的一个实例(对象),该实例被用作该模块的函数的全局状态,也在迭代期间被使用,input函数的参数将被传递给FileInput类的构造器. input方

Python中fileinput模块介绍

fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作. 该模块的input()函数有点类似文件readlines()方法,区别在于: 前者是一个迭代对象,即每次只生成一行,需要用for循环迭代. 后者是一次性读取所有行.在碰到大文件的读取时,前者无疑效率更高效. 用fileinput对文件进行循环遍历,格式化输出,查找.替换等操作,非常方便. [典型用法] import fileinput for line in fileinput.input(): process(line)

Python中fileinput模块使用

fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件 readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性读取所有行. 用fileinput对文件进行循环遍历,格式化输出,查找.替换等操作,非常方便. [典型用法] import fileinput for line in fileinput.input(): process(line) [基本格式] fileinput.input([files[,

Python fileinput模块详解

Python的fileinput模块可以快速对一个或多个文件进行循环遍历. import fileinput for line in fileinput.input(): process(line) fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]]) files:文件的路径列表 inplace:是否返回输出结果到原文件中,默认为0不返回,设置为1时返回 backup:备份文件的扩展名 bufsi

python fileinput 模块

典型用法: import fileinput for line in fileinput.input(): process(line) input 参数为空时,获取sys.argv[1:] 作为参数.如果文件名是"-"也是从标准输入获取参数. input参数可以是一个List,也可以是一个文件名. 函数: fileiineno() 返回在文件中所占的行数. filename() 返回当前所读文件名 input(files=None, inplace=0, backup='', bufs

fileinput 模块

我们昨天讲了sys模块和os模块,今天我们要来讲的是fileinput模块. 目的:了解fileinput模块 需要先了解的知识点:无 好的,我们开始吧~ fileinput模块包含的重要函数: 1.input函数,这个函数主要是用来迭代多个输入流中的行,input可以说是fileinput模块中最重要的函数了,input函数中包含参数inplace,当inplace为true的时候,将会对文件进行就地迭代处理.而backup参数则相反,将从原始文件创建的备份文件指定拓展名: 2.filenam

1.模块2.循环导入问题及解决思路3.区分py文件的两种类型4.模块的查找顺序5.模块的绝对导入与相对导入6.项目开发的目录规范

一.模块 什么是模块? 模块就是一系列功能的结合体 模块的三种来源: 1.内置的(python解释器自带的) 2.第三方的(别人写的) 3.自定义的(你自己写的) 模块的四种表现形式: 1.使用python编写的py文件(也就是意味着py文件也是可以称之为模块 2.已被编译为共享库或DLL的或C++扩展(了解) 3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称之为包) 4.使用C编写并连接到Python解释器的内置模块 模块选择 1.用别人写好的模块(内置

模块,循环导入

目录 模块的四种形式 import和from...import... import 模块 from 模块 import 方法 import与from...import的优缺点 循环导入 解决方法 模块的搜索路径 python文件的两种用途 模块的四种形式 在python中,总共有以下四种形式的模块: 内置模块:python解释器启动自带的模块,random / time -- pip install 安装的模块 自定义模块:如果你自己写一个py文件,在文件内写入一堆函数,则它被称为自定义模块,即