python 读取文本文件有三类方法:read()、readline()、readlines(),这三种方法各有利弊,下面介绍其使用方法和利弊。
-
read():
read()是最简单便捷的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中
read()的利端:方便、简单,一次性独读出文件内容存放在一个大字符串中,速度最快
read()的弊端:文件过大的时候,占用内存会过大
# 格式相互转换没问题
with open('110.txt', 'r', encoding='UTF-8') as f:
text = f.read() # type数据类型为"str"
print(text)
-*-*-*-*-*-*-*-*-*-*-*-华丽分割线*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
with open('110.txt', encoding='utf-8')as f:
a = f.read() # 读文本
# print(a)
with open('1101.xls', 'w', encoding='utf-8')as fx:
fx.write(a) # 转换格式写入Excel
fx.close() # 写入完成,关闭文件
-*-*-*-*-*-*-*-*-*-*-*-华丽分割线*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
with open('1101.xls', encoding='utf-8')as f:
a = f.read() # 读Excel文本
# print(a)
with open('1102.txt', 'w', encoding='utf-8')as fx:
fx.write(a) # 转换格式写入txt文件
fx.close() # 写入完成,关闭文件
-
readline():
readline()逐行读取文本,结果是一个str
readline()的利端:逐行读取,占用内存小
readline()的弊端:由于是逐行读取,速度比较慢
with open('110.txt', 'r', encoding='UTF-8') as f:
text = f.readline() # 逐行读取文本,type数据类型为"str"
while text:
text = f.readline()
print(text)
-
readlines():
readlines()一次性读取文本的所有内容,结果是一个list,读取txt文件每一行时,用readlines()
这种方法读取的文本内容,每行文本末尾都会带一个换行符“\n”
readlines()的利端:一次性读取文本内容,速度比较快
readlines()的弊端:随着文本的增大,占用内存会越来越多
with open('110.txt', 'r', encoding='UTF-8') as f:
text = f.readlines() # type数据类型为"list"
for i in text:
print(i)