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实现简易端口扫描器代码实例
Mar 15 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
Python生成器定义与简单用法实例分析
Apr 30 Python
Python可迭代对象操作示例
May 07 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
python的pstuil模块使用方法总结
Jul 26 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
Python正则表达式中flags参数的实例详解
Apr 01 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
js实现缓动动画
2020/11/25 Javascript
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python中退出多层循环的方法
2018/11/27 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
绩效工资分配方案
2014/01/18 职场文书
小学一年级学生评语
2014/04/22 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
舞出我人生观后感
2015/06/16 职场文书
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL