文本文件的读取


文件的读取一般使用如下三个方法:
1、 read([size]) 从文件中读取size个字符(注:中文和英文都算作一个字符),并作为结果返回。如果没有size参数,则读取整个文
件。 读取到文件末尾,会返回空字符串。 
2、 readline()   读取一行内容作为一个字符串结果返回。读取到文件末尾,会返回空字符串。 
3、 readlines()  一次读取全部文本文件,再每一行作为一个字符串存入列表中,返回该列表。


file7.txt
文件内容:
姓名hudehcao
你好帅啊

(1)、read()方法
with open(r'file7.txt','r',encoding='utf-8') as f:
    str=f.read()
    print(str)
#打开的文件有中文,如果不指定编码会报错: encoding='utf-8'
#read()不加size参数,默认读取至文件的末尾
#结果:
姓名hudehcao
你好帅啊!

    
with open(r'file7.txt','r',encoding='utf-8') as f:
    str=f.read(3)
    print(str)
#read([size])如果加上size参数,返回读取文件的前size个字符,注意中文和英文都算作是一个字符
#结果:
姓名h
    


(2)、readline()方法,每次读取一行
with open(r'file7.txt','r',encoding='utf-8') as f:
    while True:           #建一个循环,True为真,所以总是循环
        str=f.readline()  #readline()每次读取文件的一行,返回一个字符串
        if not str:       #当循环到str不为真时,即为空时退出循环
            break
        else:             #如果不退出循环,即每次循环时就输出打印一次
            print(str,end='')
#结果:
姓名hudehcao
你好帅啊


(3)、使用迭代器for...in...遍历,每次输出一行内容
with open(r'file7.txt','r',encoding='utf-8') as f:
    for a in f:
        print(a)
#结果:中间又多了一个换行,这是因为文件本身有换行,在使用print()打印时默认会换行,所以会有两层换行
姓名hudehcao

你好帅啊!


with open(r'file7.txt','r',encoding='utf-8') as f:
    for a in f:
        print(a,end='')
#结果:使用end=''告诉print不用加换行
姓名hudehcao
你好帅啊!


(4)readlines()方法,读取文件的所有行,并将每行作为一个字符串,再将每个字符串作为列表元素存入一个列表中
with open(r'file7.txt','r',encoding='utf-8') as f:
    lists=f.readlines()
    print(lists)
    for line in lists:
        print(line,end='')
结果:print(lists)
['姓名hudehcao\n', '你好帅啊!']

结果:print(line,end='')
姓名hudehcao
你好帅啊!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容