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
猜你喜欢
- 在使用matplotlib画图时,少不了对性能图形做出一些说明和补充。一般情况下,loc属性设置为'best'就足够应付了p
- char与varchar的区别来源:https://www.cnblogs.com/ZhuChangwu/p/15118290.html
- [参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2 ][操作系统:Windows
- 注意:如果您尚未阅读过原来那篇老文章《悟透JavaScript》,请先行阅读该文,以了解上下文关系。在上面的示例中,我们定义了两个语法甘露,
- Javascript 数组的工作方式与大多数编程语言的数组类似。<!DOCTYPE html><html lang=&qu
- 不论是打开网页或者爬取一些资料的时候,我们想要的是计算机能在最短的时间内运行出结果,不然等待的时间过长会影响下一步工作的计划。这时候我们可以
- 问题公司项目使用Laravel的开发的两个项目在同一个测试服务器部署,公用同一个redis。在使用laravel中的队列时,产生冲突干扰。查
- 前言在本文中,您将学习如何使用 OpenCV 进行人脸识别。文章分三部分介绍:第一,将首先执行人脸检测,使用深度学习从每个人脸中提取人脸量化
- 网络通用urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络
- Vue 能监听数组的情况Vue 监听数组和对象的变化(vue2.x)vue 实际上可以监听数组变化,比如:直接 = 赋值data () {
- 一、简介Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已
- 查询操作和性能优化1.基本操作增models.Tb1.objects.create(c1='xx', c2='oo&
- 如果当前绝对定位的元素需要透明(没啥内容、且不设置背景),背景元素有内容透出来的时候,IE6/IE7响应的不是期望的当前元素,而是背景元素。
- 今天写了个爬虫,在抓取数据的时候遇到一个问题,我觉得如果不注意,这个问题很容易被忽略,所以特意在博客记录下:问题描述:比如,我在提取信息时,
- 解决办法有很多: 1 . select * from 表 where
- 这篇文章主要介绍了基于Python实现ComicReaper漫画自动爬取脚本过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具
- 时间序列数据在数据科学领域无处不在,在量化金融领域也十分常见,可以用于分析价格趋势,预测价格,探索价格行为等。学会对时间序列数据进行可视化,
- 加载1个或多个要素<template> <div id="map" style="
- MySQL数据库配置技巧用root用户启动远程服务一直是安全大忌,因为如果服务程序出现问题,远程攻击者极有可能获得主机的完全控制权。MySQ
- 网络上关于各种语言和应用软件的速查手册和快速参考指南有很多很多,不幸的是当我们需要的时候,总是很难找到,所以我决定花点时间尽可能的收集更多的