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学习笔记之os模块使用总结
Nov 03 Python
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
Python实现自动登录百度空间的方法
Jun 10 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 Python
scikit-learn线性回归,多元回归,多项式回归的实现
Aug 29 Python
Python使用Socket实现简单聊天程序
Feb 28 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
python中有帮助函数吗
Jun 19 Python
Python中如何处理常见报错
Jan 18 Python
使用Django框架创建项目
Jun 10 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
PHP实现简易图形计算器
2020/08/28 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
Angular 数据请求的实现方法
2018/05/07 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python部署web开发程序的几种方法
2017/05/05 Python
Python语法分析之字符串格式化
2019/06/13 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
公司年会晚宴演讲稿
2014/01/06 职场文书
美德好少年主要事迹
2014/01/29 职场文书
中年人生感言
2014/02/04 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
高中教师个人总结
2015/02/10 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书