Python基础之文件读取的讲解


Posted in Python onFebruary 16, 2019
with open(filename) as fp: 
  dataMat = []
  for line in fp.readlines():
          # fp.readlines()返回一个list,list of strs
          # 也即line类型为`str`
    curLine = line.strip().split('\t')
          # 只有`str`类型才有strip()成员函数,
          # 在经过split()分割,得到list类型
          # 也即curLine类型为list
          # curLine 仍然是由字符串构成的list
    dataMat.extend([float(entry) for entry in curLine])
          # 对每一个类型进行强转

文件流成员函数

(1)fp.readlines():返回的是由字符串构成的 list,list of strs(文件中的每一行为一个字符串,划分行的标识是\n(换行符))

(2)str.strip():strip() 是字符串的成员函数,strip()的返回值仍然为字符串

(3)str.split():split() 是字符串的成员函数,返回值是是字符串构成的 list,list of strs

(4)从文件中读取的数据(经过行,再对行切分)都是字符串类型,如果需要转换为数值,需要强制类型转换。

read()、readlines()、readline()

(1)read():读取全部(自然是置于内存中),返回类型为 str

(2)readlines():读取全部行(置于内存中),list of strs(较适合按行迭代)

for line in fp.readlines():
  ...
                # line 中的内容其实就是 readline 的内容

(3)readline():逐行读取,返回类型为 str

while True:
  line = fp.readline()
  if not line:
    break
  ...

当要读取的文件过大,应优先使用 readline() 逐行读取,出于内存的考虑。

io.UnsupportedOperation: read

也即不支持读操作,为什么 with open() as fp: fp(文件流)却不可以读呢?获取文件的mode(模式)不对,如果设置成了w或者wb,就意味着只写模式。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python enumerate遍历数组示例应用
Sep 06 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
解析Python编程中的包结构
Oct 25 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python连接DB2数据库
Aug 27 Python
python入门:这篇文章带你直接学会python
Sep 14 Python
Python基础之循环语句用法示例【for、while循环】
Mar 23 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Python 高效编程技巧分享
Sep 10 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
Python爬取某平台短视频的方法
Feb 08 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 #Python
Python3 修改默认环境的方法
Feb 16 #Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 #Python
对Python3 解析html的几种操作方式小结
Feb 16 #Python
Python实现爬取马云的微博功能示例
Feb 16 #Python
对Python3 * 和 ** 运算符详解
Feb 16 #Python
Python docx库用法示例分析
Feb 16 #Python
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP小教程之实现链表
2014/06/09 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php中smarty区域循环的方法
2015/06/11 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
javascript 闭包详解
2015/07/02 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
python Tensor和Array对比分析
2020/01/08 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
建筑毕业生自我鉴定
2013/10/18 职场文书
大四本科生的自我评价
2013/12/30 职场文书
教师评优事迹材料
2014/01/10 职场文书
倡议书的格式写法
2015/04/28 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
PHP中->和=>的意思
2021/03/31 PHP
k8s部署redis cluster集群的实现
2021/06/24 Redis