• 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






  • 相关阅读:
    第7章例7-12
    第7章例7-11
    第7章例7-9
    第7章例7-8
    第7章例7-7
    第7章例7-6
    第7章例7-5
    第7章例7-4
    第7章例7-3
    第7章例7-2
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/7047722.html
Copyright © 2020-2023  润新知