目录

  • 一、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)的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:Python3 OS 文件/目录方法

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...

  2. Python3 OS 文件/目录方法

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...

  3. python020 Python3 OS 文件/目录方法

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作 ...

  4. python读写文件中read()、readline()和readlines()的用法

    python中有三种读取文件的函数: read() readline() readlines() 然而它们的区别是什么呢,在平时用到时总会遇到,今天总结一下. 0. 前期工作 首先新建一个文件read ...

  5. 笔记||Python3之文件的读写

    [文件的读模式]            文件的对象:文件的读写通过文件操作对象进行. Python2  -----  File Python3  -----  TextIOWrapper       ...

  6. python3读取文件指定行的三种方案

    技术背景 考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中.那么就需要一些特殊的处理方式,比如:创 ...

  7. python3中文件/IO编程

    python3的文件操作可谓是我见过所有语言中最舒服的,那我们来一起看一下py3中的文件操作. 1:文件的打开方式有以下几种: 注:以上图表参考菜鸟教程 2:定位读写文件  f = open(&quo ...

  8. 大文件读取方法(C#)

    之前都是用StreamReader.ReadLine方法逐行读取文件,自从.NET4有了File.ReadLines这一利器,就再也不用为大文件发愁了. File.ReadLines在整个文件读取到内 ...

  9. python 读写、创建 文件的方法(必看)

    python 读写.创建 文件的方法(必看) 更新时间:2016年09月12日 10:26:41 投稿:jingxian 我要评论下面小编就为大家带来一篇python 读写.创建 文件的方法(必看). ...

随机推荐

  1. Dispatcher与UI线程交互

    this.chart2.Dispatcher.BeginInvoke(new Action(() => { this.chart2.SetData("Series1", lx ...

  2. Sqlsever新增作业执行计划傻瓜式操作

    开启数据库代理,启动不了请检查数据库服务的代理是否开启  建议Sqlserver2008以上的版本 完整步骤如下: 查看效果: 10秒以后再来查询:发现数据有多了一些,是不是很简单,嘻嘻!

  3. Token refresh的实现

    实现原理: 在access_token里加入refresh_token标识,给access_token设置短时间的期限(例如一天),给refresh_token设置长时间的期限(例如七天).当活动用户 ...

  4. 新的服务器安装的mysql使用navcat连接不上

    首先出现问题 然后在防火墙添加3306端口 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 又出现了问题 ERROR 1130: Host ...

  5. vue项目中v-for渲染失败

    在项目中,v-for渲染列表失败,无报错,数组有数据.上网查,好多说是因为动态绑定class的原因,但是经过几番测试,都无效果. 在经过不断尝试,搜索,终于找到原因所在. 问题原因:在v-for循环中 ...

  6. 【并发编程】Volatile原理和使用场景解析

    目录 一个简单列子 Java内存模型 缓存不一致问题 并发编程中的"三性" 使用volatile来解决共享变量可见性 volatile和指令重排(有序性) volatile和原子性 ...

  7. 一款用于绘制状态机转换图和流程图的web在线绘图工具

    大型软件系统中离不开各类状态机的处理,日常工作中也涉及到各类事务处理流程:从表现力看文不如表,表不如图:因此日常工作中经常需要绘制各种状态机的状态转换图和流程图,以协助理解代码逻辑和各类事务处理流程等 ...

  8. 学习笔记27_Action方法技巧

    *在Action方法中,会存在重载问题,名字冲突就会报错,使用 [HttpPost]//只接受Post请求,且级别较高 public ActionResult Edit(..){} *在Action方 ...

  9. 修改tomcat默认使用的jdk版本

    1.windows平台 在csetclasspath.bat文件开头加上如下两句(指定JDK): set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79  se ...

  10. CSPS模拟 72

    状态..找不回来了.. T2 简单的期望 考试的时候忘考虑一个事,就是连续多位进位的情况 考试的时候打出$n^2$复杂度dp还没引起怀疑真是不应该. T3 简单的操作 最后一刻才想到图不联通,已经想不 ...