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对两个有序列表进行合并和排序的例子
Jun 13 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
keras打印loss对权重的导数方式
Jun 10 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
用python实现监控视频人数统计
May 21 Python
OpenCV 图像梯度的实现方法
Jul 25 Python
python库sklearn常用操作
Aug 23 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下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
javscript 数组扁平化的实现
2020/02/03 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
Python是怎样处理json模块的
2020/07/16 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
什么是Smart Navigation?
2016/07/03 面试题
内科护士实习自我鉴定
2013/10/17 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
运动会开幕式解说词
2014/02/05 职场文书
经典演讲稿开场白
2014/08/25 职场文书
期中考试后的感想
2015/08/07 职场文书
2016党校学习心得体会
2016/01/07 职场文书
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python