Python - 文件读取read()、readline()、readlines()区别
2024-08-28 06:44:42
前言
读取文件的三个方法:read()、readline()、readlines()。均可接受一个方法参数用以限制每次读取的数据量,但通常不使用
read()
优点:读取整个文件,将文件内容放到一个字符串变量中。
劣势:如果文件非常大,尤其是大于内存时,无法使用read()方法。
总结:不适用于读取大文件
简单代码
f = open('test/gbk.txt', 'r+', encoding='utf-8')
print(f.read())
测试结果
123
456
789
@#$%
readline()
优点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存,不占用内存
缺点:比readlines慢得多
简单代码
# 读取一行
f = open('test/gbk.txt', 'r+', encoding='utf-8')
print("读取一行 ====")
line = f.readline()
while line:
# 打印当前文件指针的位置
print("文件指针:", f.tell())
print("行内容:", line)
line = f.readline()
测试结果
读取一行 ====
文件指针: 7
行内容: tests 文件指针: 12
行内容: 123 文件指针: 17
行内容: 456 文件指针: 22
行内容: 789 文件指针: 28
行内容: 菠萝
包含知识点
- 当你每次调用readline()方法时,你的文件指针就会指向当前行尾部,一个换行符 \n 占两位,一个中文也是
- 读取到最后一行之后再调用readline()就会返回空,结束循环
readlines()
特点:一次性读取整个文件;自动将文件内容分析成一个行的列表
简单代码
# 读取多行
f = open('test/gbk.txt', 'r+', encoding='utf-8', errors='ignore')
print("读取多行 ====")
print(f.readlines())
测试结果
['tests\n', '123\n', '456\n', '789\n', '菠萝']
包含知识点
- readlines()读取所有行然后把它们作为一个字符串列表返回
- 返回的每一行内容包含换行符
最新文章
- MWeb for iOS 测试版介绍
- hive的使用02
- 剑指Offer:面试题30——最小的k个数(java实现)
- leetcode_199 Binary Tree Right Side View
- C#环境datagidview添加删除操作
- Start of Something New
- IOS 开发 【序】
- CI框架源代码阅读笔记3 全局函数Common.php
- 使用contentprovider实现的日记(转)
- Git常用命令(转)
- Activity竟然有两个onCreate方法,可别用错了
- emacs search, 讲的很清楚。
- Struts2思维导图
- hdu-1237 简单计算器---中缀表达式转后缀表达式
- objective-c如何在linux下进入Modern模式
- 究竟谁在绑架中国的4G政策?
- QTTabBar
- tomcat 常用命令 网上找的资料
- 通用化NPOI导出xls
- js判断浏览器类型和版本