python标准库学习3-fileinput
来源:互联网 发布:华讯网络好吗 编辑:程序博客网 时间:2024/05/22 14:03
fileinput模块让你轻松遍历文本文件的所有行,与readlines()不同的是fileinput模块是逐行进行遍历,而readlines是一次读取全部到内存中.
使用python script.py file1.txt file2.txt ...基本使用方法如下:
import fileinput
for line in fileinput.input():
process(line)
fileinput中重要的函数:
1.input(files[,inplace,[backup]]):遍历多个输入的文件.inplace设置为True的时候直接在源文件中修改,backup参数将文件名扩展到通过原始文件创建的备份文件中,input=1类似于sed -i参数
2.filename():返回当前文件的名称
3.lineno():返回当前累计的行数
4.filelineno():返回当前文件的行数
5.isfirstline():检查当前行是否是文件的第一行
6.isstdin():检查最后一行是否来至sys.stdin
7.nextfile():关闭当前文件,移动到下一个文件,这在逐个文件进行处理的时候可能很有用
8.close():关闭序列
下面这个是书上的例子,在文件每一行的末尾添加一个#行号
[root@python ~]# cat 1.py
#!/usr/bin/env python
import fileinput
import os
for line in fileinput.input(inplace=1,backup='.bak'):
line=line.rstrip()
num=fileinput.lineno()
print '%-80s # %2i' % (line,num)
解释一下,inplace=1说明直接在源文件进行修改,backup='.bak'说明在修改之前会将源文件备份,文件名我源文件名.bak
line.rstrip()是将每行的末尾的空格删除
fileinput.lineno()是记录当前处理的行
%-80s的意思是左对齐,宽度为80,如果行的长度不满80则最后以空格填充,如果满80则返回全部数据
%2i的意思是宽度为2的整形
下面是具体的处理结果:
[root@python ~]# cat 1.txt
Traceback (most recent call last):
File "./1.py", line 10, in <module>
print a[i]
IndexError: list index out of range
[root@python ~]# ./1.py 1.txt
[root@python ~]# cat 1.txt
Traceback (most recent call last): # 1
File "./1.py", line 10, in <module> # 2
print a[i] # 3
IndexError: list index out of range # 4
[root@python ~]# ls 1.txt*
1.txt 1.txt.bak
[root@python ~]# cat 1.txt.bak
Traceback (most recent call last):
File "./1.py", line 10, in <module>
print a[i]
IndexError: list index out of range
0 0
- python标准库学习3-fileinput
- python标准库fileinput模块学习
- python基础教程_学习笔记15:标准库:一些最爱——fileinput
- Python模块学习 ---- fileinput
- Python基础--人们一些最爱的标准库(sys os fileinput)
- python fileinput
- python 使用sys.stdin和fileinput读入标准输入
- python学习标准库
- python学习标准库
- python标准库学习
- Python标准库学习
- python 标准库-argparse 学习
- python fileinput模块介绍
- python fileinput中的description
- Python fileinput 模块
- Python开发--fileinput
- Python之fileinput
- Python中fileinput模块
- Firefox 与 sublime text 3 通过LiveReload插件实现前端代码实时预览
- flask 实现上传图片并缩放作为头像
- POJ 1930 Dead Fraction(小数化分数)
- 【USACO5.3.3】Network of Schools
- Spark+Kafka的Direct方式将偏移量发送到Zookeeper的实现
- python标准库学习3-fileinput
- B树、B-树、B+树、B*树 红黑树
- OpenLayers 3 之 事件体系详解
- 页面生成树形查询的后台实现方法
- zjnu MAFIJA (图论)
- POJ 2098 数值积分
- 257. Binary Tree Paths
- 7. Java 注释类型
- Spring学习笔记(1-2)