• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python fileinput模块使用实例

Python fileinput模块使用实例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python模块fileinput,python fileinput,python中fileinput,fileinput模块,bootstrap fileinput等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

【典型用法】

import fileinput
for line in fileinput.input():
    process(line)
</div>

【基本格式】
fileinput.input([files[, inplace[, backup[, bufsize[, mode[, openhook]]]]]])
</div>
【默认格式】
fileinput.input (files=None, inplace=False, backup='', bufsize=0, mode='r', openhook=None)
files:                  #文件的路径列表,默认是stdin方式,多文件['1.txt','2.txt',...] 
inplace:                #是否将标准输出的结果写回文件,默认不取代 
backup:                 #备份文件的扩展名,只指定扩展名,如.bak。如果该文件的备份文件已存在,则会自动覆盖。 
bufsize:                #缓冲区大小,默认为0,如果文件很大,可以修改此参数,一般默认即可 
mode:                   #读写模式,默认为只读 
openhook:               #该钩子用于控制打开的所有文件,比如说编码方式等; 
</div>
【常用函数】
fileinput.input()       #返回能够用于for循环遍历的对象 
fileinput.filename()    #返回当前文件的名称 
fileinput.lineno()      #返回当前已经读取的行的数量(或者序号) 
fileinput.filelineno()  #返回当前读取的行的行号 
fileinput.isfirstline() #检查当前行是否是文件的第一行 
fileinput.isstdin()     #判断最后一行是否从stdin中读取 
fileinput.close()       #关闭队列 
</div>
【常见例子】

例子01: 利用fileinput读取一个文件所有行
>>> import fileinput 
>>> for line in fileinput.input('data.txt'): 
        print line, 
#输出结果 
Python 
Java  
C/C++ 
Shell 
</div>

命令行方式:
#test.py 
import fileinput 
 
for line in fileinput.input(): 
    print fileinput.filename(),'|','Line Number:',fileinput.lineno(),'|: ',line 
 
c:>python test.py data.txt 
data.txt | Line Number: 1 |:  Python 
data.txt | Line Number: 2 |:  Java 
data.txt | Line Number: 3 |:  C/C++ 
data.txt | Line Number: 4 |:  Shell 
</div>

例子02: 利用fileinput对多文件操作,并原地修改内容
#test.py 
#---样本文件--- 
c:\Python27>type 1.txt 
first 
second 
 
c:\Python27>type 2.txt 
third 
fourth 
#---样本文件--- 
import fileinput 
 
def process(line): 
    return line.rstrip() + ' line' 
 
for line in fileinput.input(['1.txt','2.txt'],inplace=1): 
    print process(line) 
 
#---结果输出--- 
c:\Python27>type 1.txt 
first line 
second line 
 
c:\Python27>type 2.txt 
third line 
fourth line 
#---结果输出--- 
</div>

命令行方式:
#test.py 
import fileinput 
 
def process(line): 
    return line.rstrip() + ' line' 
 
for line in fileinput.input(inplace = True): 
    print process(line) 
 
#执行命令 
c:\Python27>python test.py 1.txt 2.txt 
</div>

例子03: 利用fileinput实现文件内容替换,并将原文件作备份
#样本文件: 
#data.txt 
Python 
Java 
C/C++ 
Shell 
 
#FileName: test.py 
import fileinput 
 
for line in fileinput.input('data.txt',backup='.bak',inplace=1): 
    print line.rstrip().replace('Python','Perl')  #或者print line.replace('Python','Perl'), 
     
#最后结果: 
#data.txt 
Python 
Java 
C/C++ 
Shell 
#并生成: 
#data.txt.bak文件 
</div>
#其效果等同于下面的方式 
import fileinput 
for line in fileinput.input(): 
    print 'Tag:',line, 
 
 
#---测试结果:    
d:\>python Learn.py < data.txt

您可能想查找下面的文章:

  • Python中的fileinput模块的简单实用示例
  • Python fileinput模块使用实例
  • Python fileinput模块使用实例
  • Python fileinput模块使用实例

相关文章

  • 基于python的汉字转GBK码实现代码
  • Python使用Scrapy爬取妹子图
  • 使用python检测手机QQ在线状态的脚本代码
  • 在Python中使用zlib模块进行数据压缩的教程
  • 跟老齐学Python之大话题小函数(1)
  • 在Heroku云平台上部署Python的Django框架的教程
  • python使用PyV8执行javascript代码示例分享
  • python解析html开发库pyquery使用方法
  • python实现的简单FTP上传下载文件实例
  • Python的Asyncore异步Socket模块及实现端口转发的例子

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 在win和Linux系统中python命令行运行的不同
    • 浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
    • python遍历文件夹并删除特定格式文件的示例
    • Python的Flask站点中集成xhEditor文本编辑器的教程
    • Python中字符串的处理技巧分享
    • 跟老齐学Python之dict()的操作方法
    • python使用Queue在多个子进程间交换数据的方法
    • python制作最美应用的爬虫
    • Python实现统计单词出现的个数
    • 详解Python的Lambda函数与排序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有