遇到问题

方法一:

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()坑相关推荐

  1. python: line=f.readlines() 后如何消除line中的’\n’

    1.问题 在文本中,每行结尾有个'\n',举个例子, f = open("log.txt") logs = f.readlines() for log in logs:print( ...

  2. python提示line3_python: line=f.readlines() 后如何消除line中的’\n’

    #!/ust/bin/env python3 f = open("name.txt") date = f.readlines() print(date) f.close() #结果 ...

  3. f.readlines()和f.read().splitlines()的区别

    f.readlines()和f.read().splitlines()的区别: f.readlines()和f.read().splitlines()都是返回一个list,f.readlines()后 ...

  4. Python读取大文件的坑“与内存占用检测

    python读写文件的api都很简单,一不留神就容易踩"坑". 笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码. r ...

  5. python抓取数据时失败_爬取数据缺失的补坑,Python数据爬取的坑坑洼洼如何铲平...

    渣渣业余选手讲解,关于爬取数据缺失的补坑,一点点关于Python数据爬取的坑坑洼洼如何铲平,个人的一些心得体会,还有结合实例的数据缺失的补全,几点参考,仅供观赏,如有雷同,那肯定是我抄袭的! 在使用P ...

  6. python读取大文件的坑_Python读取大文件的坑“与内存占用检测

    python读写文件的api都很简单,一不留神就容易踩"坑".笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码. 1. ...

  7. 爬虫图片mysql_爬取微博图片数据存到Mysql中遇到的各种坑\爬取微博图片\Mysql存储图片\微博爬虫...

    本人长期出售超大量微博数据.旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com.同时欢迎加入社交媒体数据交流群:99918768 前言 由 ...

  8. 爬取图片到mysql数据库_爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片...

    前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...

  9. python爬虫,g-mark网站图片数据爬取及补坑

    应用python对g-mark网站图片数据爬取,同时但对于数据抓取失败的图片进行补坑(重新爬取操作),由于是日本网站,没有梯子访问的话,特别容易访问超时,比较合适的补坑操作是直接将数据采集到数据库,而 ...

最新文章

  1. c++类的应用和权限
  2. java web 性能分析_web系统性能分析JavaMelody
  3. ndk error: malloc was not declared in this scope
  4. LAMP架构之个人博客搭建
  5. iOS 动画绘制线条颜色渐变的折线图
  6. codeforces 318A-C语言解题报告
  7. vsan网络分区不在同一组
  8. 深信服scsa知识点一
  9. 挥泪告别鼠标,我终究还是学会了Windows快捷键
  10. 一步到位:手把手教你R语言竞争风险模型建模-列线图-校准曲线-K折验证-外部验证- 决策曲线
  11. 一种用于压力传感器的温度控制系统设计
  12. C语言大作业-个人通讯录管理系统、考试座位表生成系统、学生获奖信息收集与管理系统
  13. Vue(狂神学习笔记)2021-10-8
  14. SuperMap iDesktop许可模块介绍
  15. 小米扫地机器人粉尘盒_小米扫地机器人尘盒怎么打开
  16. 【数据结构篇03】栈和队列
  17. Excel2010基础-学习笔记
  18. 【干货】SSM,Jquery, Bootstrap从零打造一个论坛系统
  19. kafka是什么?深刻理解kafka
  20. D* Lite路径规划算法

热门文章

  1. 接口测试工具及工具分类
  2. 修复mongodb启动失败问题
  3. x86\x64\ia64 的区别
  4. php开发中常用函数总结
  5. EasyGBS通过GB28181下载流程结合抓包数据详细记录
  6. 【智能车】电磁传感器
  7. 计算机组装与维修技术课本,计算机组装与维修技术教程——21世纪高等学校培养应用型人才教材·计算机系列...
  8. VSAM让大型机存储性能重获新生
  9. XML之命名空间的作用(xmlns)
  10. OpenTSDB数据插入和查询python