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实现文件路径和url相互转换的方法
Jul 06 Python
深度定制Python的Flask框架开发环境的一些技巧总结
Jul 12 Python
浅谈Python类的__getitem__和__setitem__特殊方法
Dec 25 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
Python匿名函数及应用示例
Apr 09 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
python中return如何写
Jun 18 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
python函数指定默认值的实例讲解
Mar 29 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中取得文件的后缀名?
2012/02/20 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
php实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
深入研究React中setState源码
2017/11/17 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
Python操作MySQL简单实现方法
2015/01/26 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python 数据的清理行为实例详解
2017/07/12 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
信息技术课后反思
2014/04/27 职场文书
求职信的正确写法
2014/07/10 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript
Java Redisson多策略注解限流
2022/09/23 Java/Android