读一个文件内容的4种方法
Posted Mike-yang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读一个文件内容的4种方法相关的知识,希望对你有一定的参考价值。
第一种 readline() 读一行执行完就把文件关闭
with open("data1.txt",mode="r",encoding="utf-8")as f1: content=f1.readline() print(content) 输出:你好苍老师
第二种 readlines() 拿到一个列表
with open("data1.txt",mode="r",encoding="utf-8")as f1:
content1 = f1.readlines()
print(content1)
输出:[\'\\ufeff你好苍老师\\n\', \'alex我是你爸爸\\n\', \'小泽老师你好棒\\n\', \'来呀呀\\n\', \'咯咯lol\']
附加:
with open("data1.txt",mode="r",encoding="utf-8")as f1: content=f1.readline() print("readline读出:content=%s"%content) content1 = f1.readlines() print("readlines读出:content1=%s"%content1) 输出: readline读出:content=你好苍老师 readlines读出:content1=[\'alex我是你爸爸\\n\', \'小泽老师你好棒\\n\', \'来呀呀\\n\', \'咯咯lol\']
为啥会这样,执行完readline()光标移动到第一行的\\n之后,再执行 readlines() 就从第二行开头开始读
第三种 for line in f1 一行一行读 line拿到的是一个字符串
with open("data1.txt",mode="r",encoding="utf-8")as f1: for line in f1: print(line) 输出: 你好苍老师 alex我是你爸爸 小泽老师你好棒 来呀呀 咯咯lol
第四种:read() 全部读出啦
with open("data1.txt",mode="r",encoding="utf-8")as f1: content2=f1.read() print(content2) 输出: 你好苍老师 alex我是你爸爸 小泽老师你好棒 来呀呀 咯咯lol
文件data1是txt文件,编码选utf-8保存
总结
文件操作,读取文件内容,关键点是看光标的位置,记住read(1),这个1是代表读一个字符,而seek(1)这个1是字节;
utf-8:一个中文字符=3个字节,移动光标位置,比如一个中文字符,seek(2)文件内容就会变成乱码,因为光标无法达到中文所指定位置(中文3个字节),乱码就是编码变了,光标就能跳到所指定位置了:
以上是关于读一个文件内容的4种方法的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段