当前位置 博文首页 > 小龙狗的博客:Python读文件的三种方法对比

    小龙狗的博客:Python读文件的三种方法对比

    作者:[db:作者] 时间:2021-07-09 18:59

    read()、readline() 和 readlines()

    • read() 方法读取整个文件,将内容放到一个字符串变量中,read() 函数的基本语法格式如下:

      file.read([size])
      

      其中,file 表示已打开的文件对象;size 作为一个可选参数,用于指定一次最多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。

    • readline() 方法每次读取一行内容,一般不太用

    • readlines() 方法一次性读取整个文件内容,并按行返回到 list

    实例说明

    test.py

    def t_read():
        print('read()方法:')
        f = open('test.txt','r',encoding='utf8')
        print(f.read())
        print(f.read(3))
        f.close()
      
    def t_readline():
        print('readline()方法:')
        f = open('test.txt','r',encoding='utf8')
        line = f.readline()
        while line:
            print(line, end="") # 利用end=""来取消print的自动换行
            line = f.readline()
        f.close()
        
    def t_readlines():
        print('readlines()方法:')
        f = open('test.txt','r',encoding='utf8')
        lines = f.readlines()
        print(lines)
        for line in lines:
            print(line,end='')
        f.close()    
    
    if __name__ == "__main__":
        t_read()
        t_readline()
        t_readlines()
    

    结果如下

    D:\>python test.py
    read()方法:
    你好
    这是一个文本文件
    共有3行
    
    readline()方法:
    你好
    这是一个文本文件
    共有3行readlines()方法:
    ['你好\n', '这是一个文本文件\n', '共有3行']
    你好
    这是一个文本文件
    共有3行
    
    cs