python3 之 文件read方法(read、readline、readlines)
目录
- 一、read方法
- 二、readline方法
- 三、readlines方法
正文
python3中,读取文件有三种方法:read()、readline()、readlines()。
此三种方法,均支持接收一个变量,用于限制每次读取的数据量,但是,通常不会使用。
本文的目的:分析、总结上述三种读取方式的使用方法及特点。
一、read方法
特点:读取整个文件,将文件内容放到一个字符串变量中。
缺点:如果文件非常大,尤其是大于内存时,无法使用read()方法。
file = open('部门同事联系方式.txt', 'r') # 创建的这个文件,是一个可迭代对象 try:
text = file.read() # 结果为str类型
print(type(text)) #打印text的类型
print(text)
finally:
file.close() #关闭文件file
"""
<class 'str'>
李飞 177 70 13888888
王超 170 50 13988888
白净 167 48 13324434
黄山 166 46 13828382
"""
read()直接读取字节到字符串中,包括了换行符
>>> file = open('兼职模特联系方式.txt', 'r')
>>> a = file.read()
>>> a
'李飞 177 70 13888888\n王超 170 50 13988888\n白净 167 48 13324434\n黄山 166 46 13828382'
二、readline方法
特点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存
缺点:比readlines慢的多
file = open('部门同事联系方式.txt', 'r') try:
while True:
text_line = file.readline()
if text_line:
print(type(text_line), text_line)
else:
break
finally:
file.close()
"""
<class 'str'> 李飞 177 70 13888888 <class 'str'> 王超 170 50 13988888 <class 'str'> 白净 167 48 13324434 <class 'str'> 黄山 166 46 13828382
"""
readline()读取整行,包括行结束符,并作为字符串返回
>>> file = open('兼职模特联系方式.txt', 'r')
>>> a = file.readline()
>>> a
'李飞 177 70 13888888\n'
三、readlines方法
特点:一次性读取整个文件;自动将文件内容分析成一个行的列表
file = open('部门同事联系方式.txt', 'r') try:
text_lines = file.readlines()
print(type(text_lines), text_lines)
for line in text_lines:
print(type(line), line)
finally:
file.close()
"""
<class 'list'> ['李飞 177 70 13888888\n', '王超 170 50 13988888\n',
'白净 167 48 13324434\n', '黄山 166 46 13828382']
<class 'str'> 李飞 177 70 13888888 <class 'str'> 王超 170 50 13988888 <class 'str'> 白净 167 48 13324434 <class 'str'> 黄山 166 46 13828382
"""
readlines()读取所有行,然后把它们作为一个字符串列表返回。
>>> file = open('兼职模特联系方式.txt', 'r')
>>> a = file.readlines()
>>> a
['李飞 177 70 13888888\n', '王超 170 50 13988888\n', '白净 167 48 13324434\n',
'黄山 166 46 13828382']
python3 之 文件read方法(read、readline、readlines)的更多相关文章
- 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法
os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...
- Python3 OS 文件/目录方法
os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...
- python020 Python3 OS 文件/目录方法
os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...
- python读写文件中read()、readline()和readlines()的用法
python中有三种读取文件的函数: read() readline() readlines() 然而它们的区别是什么呢,在平时用到时总会遇到,今天总结一下. 0. 前期工作 首先新建一个文件read ...
- 笔记||Python3之文件的读写
[文件的读模式] 文件的对象:文件的读写通过文件操作对象进行. Python2 ----- File Python3 ----- TextIOWrapper ...
- python3读取文件指定行的三种方案
技术背景 考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中.那么就需要一些特殊的处理方式,比如:创 ...
- python3中文件/IO编程
python3的文件操作可谓是我见过所有语言中最舒服的,那我们来一起看一下py3中的文件操作. 1:文件的打开方式有以下几种: 注:以上图表参考菜鸟教程 2:定位读写文件 f = open(&quo ...
- 大文件读取方法(C#)
之前都是用StreamReader.ReadLine方法逐行读取文件,自从.NET4有了File.ReadLines这一利器,就再也不用为大文件发愁了. File.ReadLines在整个文件读取到内 ...
- python 读写、创建 文件的方法(必看)
python 读写.创建 文件的方法(必看) 更新时间:2016年09月12日 10:26:41 投稿:jingxian 我要评论下面小编就为大家带来一篇python 读写.创建 文件的方法(必看). ...
随机推荐
- Dispatcher与UI线程交互
this.chart2.Dispatcher.BeginInvoke(new Action(() => { this.chart2.SetData("Series1", lx ...
- Sqlsever新增作业执行计划傻瓜式操作
开启数据库代理,启动不了请检查数据库服务的代理是否开启 建议Sqlserver2008以上的版本 完整步骤如下: 查看效果: 10秒以后再来查询:发现数据有多了一些,是不是很简单,嘻嘻!
- Token refresh的实现
实现原理: 在access_token里加入refresh_token标识,给access_token设置短时间的期限(例如一天),给refresh_token设置长时间的期限(例如七天).当活动用户 ...
- 新的服务器安装的mysql使用navcat连接不上
首先出现问题 然后在防火墙添加3306端口 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 又出现了问题 ERROR 1130: Host ...
- vue项目中v-for渲染失败
在项目中,v-for渲染列表失败,无报错,数组有数据.上网查,好多说是因为动态绑定class的原因,但是经过几番测试,都无效果. 在经过不断尝试,搜索,终于找到原因所在. 问题原因:在v-for循环中 ...
- 【并发编程】Volatile原理和使用场景解析
目录 一个简单列子 Java内存模型 缓存不一致问题 并发编程中的"三性" 使用volatile来解决共享变量可见性 volatile和指令重排(有序性) volatile和原子性 ...
- 一款用于绘制状态机转换图和流程图的web在线绘图工具
大型软件系统中离不开各类状态机的处理,日常工作中也涉及到各类事务处理流程:从表现力看文不如表,表不如图:因此日常工作中经常需要绘制各种状态机的状态转换图和流程图,以协助理解代码逻辑和各类事务处理流程等 ...
- 学习笔记27_Action方法技巧
*在Action方法中,会存在重载问题,名字冲突就会报错,使用 [HttpPost]//只接受Post请求,且级别较高 public ActionResult Edit(..){} *在Action方 ...
- 修改tomcat默认使用的jdk版本
1.windows平台 在csetclasspath.bat文件开头加上如下两句(指定JDK): set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79 se ...
- CSPS模拟 72
状态..找不回来了.. T2 简单的期望 考试的时候忘考虑一个事,就是连续多位进位的情况 考试的时候打出$n^2$复杂度dp还没引起怀疑真是不应该. T3 简单的操作 最后一刻才想到图不联通,已经想不 ...