文件的读取一般使用如下三个方法:
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
你好帅啊!
文本文件的读取
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 本文内容 java实现对文件内容的读取,暂时未完善插入数据库部分 将内容写入到文本文件,暂时未完善从数据库查询部分...
- C++编程-循环读取文件 使用cin读入字符数组的时候,遇到空白字符就会停止。例如,cin >> ch,如果输入的...
- 1、textFile 当我们将一个文本文件读取为 RDD 时,输入的每一行都会成为RDD的一个元素。也可以将多个完...
- 最近需要处理linux下的gz问题,发现有两个各相似的包好像都可以处理gz,但是使用上又有一些区别 zipfile...
- 作者: Seven-Steven原文链接: https://blog.diqigan.cn/posts/java-...