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给文本创立向量空间模型的教程
Apr 23 Python
Python 正则表达式入门(中级篇)
Dec 07 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
python3+mysql查询数据并通过邮件群发excel附件
Feb 24 Python
Python3.5运算符操作实例详解
Apr 25 Python
深入浅析python 协程与go协程的区别
May 09 Python
手写一个python迭代器过程详解
Aug 27 Python
Django 路由层URLconf的实现
Dec 30 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
Python天气语音播报小助手
Sep 25 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
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
使用PHP开发留言板功能
2019/11/19 PHP
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
实例讲解JS中pop使用方法
2019/01/27 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
python修改txt文件中的某一项方法
2018/12/29 Python
tensorflow 查看梯度方式
2020/02/04 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
园林资料员岗位职责
2013/12/30 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android