Python fileinput模块使用介绍
作者:mdxy-dxy 发布时间:2023-08-22 14:32:12
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。
下面是fileinput模块中的常用函数:
input() #返回能够用于for循环遍历的对象filename() #返回当前文件的名称lineno() #返回当前已经读取的行的数量(或者序号)filelineno() #返回当前读取的行的行号isfirstline() #检查当前行是否是文件的第一行
创建测试文件test.txt:
# cat > test.txt << EOFHello,Pythonwww.jb51.netThis is a test fileEOF
利用fileinput实现文件内容替换,如:file_input.p(注意文件名,别写成fileinput.py)
#!/usr/bin/env pythonimport fileinputfor line in fileinput.input('test.txt',backup='_bak',inplace=1): print line.replace('Python','LinuxEye'),fileinput.close()
inplace=1:标准输出会被重定向到打开文件;backup='_bak',:替换文件内容之前备份后缀以_bak结尾;另外,在调用fileinput.input()之后记得要fileinput.close()。
执行结果如下:
# python file_input.py #执行file_input.py# ls test.txt*test.txt test.txt_bak # cat test.txtHello,LinuxEyewww.jb51.netThis is a test file # cat test.txt_bakHello,Pythonwww.jb51.netThis is a test file
其他测试:
>>> import fileinput>>> for line in fileinput.input('test.txt'):... print fileinput.filename(),fileinput.lineno(),fileinput.filelineno()...test.txt 1 1test.txt 2 2test.txt 3 3
>>> import fileinput>>> for line in fileinput.input('test.txt'):... if fileinput.isfirstline():... print line,... else:... break...Hello,LinuxEye
猜你喜欢
- 使用torchvision库的datasets类加载常用的数据集或自定义数据集图像识别是计算机视觉中的一个基础任务,它的目标是让计算机能够识
- 本文实例为大家分享了Python使用Pillow添加水印的具体代码,供大家参考,具体内容如下python数据分析得到的图片,并对照片添加水印
- 本文实例讲述了php基于PDO实现功能强大的MYSQL封装类。分享给大家供大家参考,具体如下:class CPdo{ protected $
- 一、字符串(str)字符串转换为列表使用list()方法str_1 = "1235"str_2 = 'zhang
- 1. 准备工作有朋友可能没用过folium,它其实就是python的一个专业绘制地图的第三方库,所以在使用之前需要先安装它。pip 
- 昨天在书友会上讨论信息分类和方法,有位朋友问:“大家现在讨论的还是几年前那套web2.0的东西,有没有一些新的东西可以分享?”我当时确实感觉
- 本文记录了PyCharm安装的图文教程,供大家参考,具体内容如下PyCharm的官网 1.在官网下载安装包2.选择Windows系
- 一、函数入门1.概念函数是可以重复执行一定任务的代码片段,具有独立的固定的输入输出接口。函数定义的本质,是给一段代码取个名字,方便以后重复使
- 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
- 前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理基本开发环境 Python
- 最近在研究品牌如何演绎,当然,看的时候没有忘记本行,分析了一下他们的交互设计~~路易威登LV上图采用胶片展示多组信息——大片展示品牌渲染。利
- 虽然以前我写过IE6、IE7、IE8共存的解决方案,但是看到IETester这个软件以后那些都已经没有意义了(那些办法副作用比较大,而且实现
- 本文主要介绍Python中,class(类)的装饰器@staticmethod和@classmethod的使用示例代码和它们的区别。1、@s
- pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。unittest也是py
- 本文实例为大家分享了使用python的twisted框架编写一个简单的聊天室具体代码,供大家参考,具体内容如下下面是基本架构代码:# -*-
- 如下所示:def usage(): print(' * usage:') print(' *
- 一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用
- 当数据库的数据量读写频繁的时候,我们就要考虑把数据库的读写分开,以提高数据库的使用效率,(当然还有其他用处比如,备份数据),这个时候我们就要
- 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月My
- 本文实例讲述了Python实现的将文件每一列写入列表功能。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-#!