f.readlines()坑
遇到问题
方法一:
with open("E:\\eal.txt",'r', encoding='utf-8') as fll:nl1 = [line.split(',')[1] for line in fll.readlines() if line.split(',')[0] == '0']nl2 = [line.split(',')[1] for line in fll.readlines() if line.split(',')[0] == '1']
print(len(nl1),len(nl2))39 0
实践操作中 ,开始使用方法一的代码未报错,但是nl2语句未返回有效结果。 改用方法二测试,能返回正确结果。
方法二:
nl1 = []
nl2 = []
with open("E:\\eal.txt",'r', encoding='utf-8') as fll:for line in fll.readlines():if line.split(',')[0] == '0':nl1.append(line.split(',')[1])if line.split(',')[0] == '1':nl2.append(line.split(',')[1])
print(len(nl1),len(nl2))
39 205
进行分析发现原因:readlines()是一次性工作,读入内存后迭代完成就没有了。
解决方法:
方法一:给.readlines()赋值变量存储,再进行操作。
with open("E:\\eal.txt",'r', encoding='utf-8') as fll:fl = fll.readlines()nl1 = [line.split(',')[1] for line in fl if line.split(',')[0] == '0']nl2 = [line.split(',')[1] for line in fl if line.split(',')[0] == '1']
print(len(nl1),len(nl2))39 205
方法二:利用.seek(),将光标移至文件开头位置。
with open("E:\\eal.txt",'r', encoding='utf-8') as fll:nl1 = [line.split(',')[1] for line in fll.readlines() if line.split(',')[0] == '0']fll.seek(0)nl2 = [line.split(',')[1] for line in fll.readlines() if line.split(',')[0] == '1']
print(len(nl1),len(nl2))39 205
好啦!问题解决了。学习基础知识也要注意细节哦!
f.readlines()坑相关推荐
- python: line=f.readlines() 后如何消除line中的’\n’
1.问题 在文本中,每行结尾有个'\n',举个例子, f = open("log.txt") logs = f.readlines() for log in logs:print( ...
- python提示line3_python: line=f.readlines() 后如何消除line中的’\n’
#!/ust/bin/env python3 f = open("name.txt") date = f.readlines() print(date) f.close() #结果 ...
- f.readlines()和f.read().splitlines()的区别
f.readlines()和f.read().splitlines()的区别: f.readlines()和f.read().splitlines()都是返回一个list,f.readlines()后 ...
- Python读取大文件的坑“与内存占用检测
python读写文件的api都很简单,一不留神就容易踩"坑". 笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码. r ...
- python抓取数据时失败_爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平...
渣渣业余选手讲解,关于爬取数据缺失的补坑,一点点关于Python数据爬取的坑坑洼洼如何铲平,个人的一些心得体会,还有结合实例的数据缺失的补全,几点参考,仅供观赏,如有雷同,那肯定是我抄袭的! 在使用P ...
- python读取大文件的坑_Python读取大文件的坑“与内存占用检测
python读写文件的api都很简单,一不留神就容易踩"坑".笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码. 1. ...
- 爬虫图片mysql_爬取微博图片数据存到Mysql中遇到的各种坑\爬取微博图片\Mysql存储图片\微博爬虫...
本人长期出售超大量微博数据.旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com.同时欢迎加入社交媒体数据交流群:99918768 前言 由 ...
- 爬取图片到mysql数据库_爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片...
前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...
- python爬虫,g-mark网站图片数据爬取及补坑
应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...
最新文章
- c++类的应用和权限
- java web 性能分析_web系统性能分析JavaMelody
- ndk error: malloc was not declared in this scope
- LAMP架构之个人博客搭建
- iOS 动画绘制线条颜色渐变的折线图
- codeforces 318A-C语言解题报告
- vsan网络分区不在同一组
- 深信服scsa知识点一
- 挥泪告别鼠标,我终究还是学会了Windows快捷键
- 一步到位:手把手教你R语言竞争风险模型建模-列线图-校准曲线-K折验证-外部验证- 决策曲线
- 一种用于压力传感器的温度控制系统设计
- C语言大作业-个人通讯录管理系统、考试座位表生成系统、学生获奖信息收集与管理系统
- Vue(狂神学习笔记)2021-10-8
- SuperMap iDesktop许可模块介绍
- 小米扫地机器人粉尘盒_小米扫地机器人尘盒怎么打开
- 【数据结构篇03】栈和队列
- Excel2010基础-学习笔记
- 【干货】SSM,Jquery, Bootstrap从零打造一个论坛系统
- kafka是什么?深刻理解kafka
- D* Lite路径规划算法