python按行读取文件取消空白行_在Python中读取文件时忽略空行的最简单方法

我将堆栈生成器表达式:with open(filename) as f_in:

lines = (line.rstrip() for line in f_in) # All lines including the blank ones

lines = (line for line in lines if line) # Non-blank lines

现在,lines都是非空行。这样你就不用在电话线上打两次电话了。如果您想要一个行列表,那么您可以执行以下操作:with open(filename) as f_in:

lines = (line.rstrip() for line in f_in)

lines = list(line for line in lines if line) # Non-blank lines in a list

你也可以用一行代码(不包括with语句)来完成,但它没有效率更高,也更难阅读:with open(filename) as f_in:

lines = list(line for line in (l.strip() for l in f_in) if line)

更新:

我同意这是丑陋的,因为重复的令牌。如果你愿意,你可以写一个生成器:def nonblank_lines(f):

for l in f:

line = l.rstrip()

if line:

yield line

那就叫它:with open(filename) as f_in:

for line in nonblank_lines(f_in):

# Stuff

更新2:with open(filename) as f_in:

lines = filter(None, (line.rstrip() for line in f_in))

在CPython上(使用确定性引用计数)lines = filter(None, (line.rstrip() for line in open(filename)))

在Python 2中,如果需要生成器,请使用itertools.ifilter;在Python 3中,如果需要列表,请将整个过程传递给list。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server2012如何导出sql脚本并且还原数据库

一 备份数据库 1 选择某一个数据库,右键依次选择:任务》生成脚本; 2 选择要编写脚本的数据库对象,注意此处可以选择特定的数据库对象,我们可以选择我们需要备份的数据表。 3 在当前页面下面第一步选择高级选项&am…

脚本启动慢_Linux 常用运维脚本,建议收藏

同步本机时间ntpdate 210.72.145.44清除系统缓存,空出更多内存free && sync && echo 3 > /proc/sys/vm/drop_caches && free杀掉僵尸进程kill $(ps -A -ostat,ppid | awk /[zZ]/ && !a[$2] {print $2})显示全部arp解析tcpdump a…

eclipse maven项目 class类部署不到tomcat下_Servlet tomcat部署

网上搜到的很多利用eclipse结合tomcat开发servlet的教程都要修改server.xml感觉这种方式太粗暴了,server.xml最好是与应用无关的,这里比较推荐export war的方式进行部署先记录一下环境配置过程我的系统是ubuntu 14.04;下载eclipse for javaee…

JS数组遍历

### 三 数组的遍历( 1 ) for 循环 let ary [a, b, c, d, 12, 3, 4, f]; for (let i 0; i < ary.length; i) { console.log(ary[i]); }( 2 ) for of &#xff08;ES6 &#xff09; let ary [a, b, c, d, 12, 3, 4, f]; for(let item of ary){ console.log(…

python多线程并发写入_Python多线程并发的简单测试

之前也写了一些简单的Python程序&#xff0c;对于多线程的并发一直没有涉及&#xff0c;今天决定先突破一下&#xff0c;把这个部分的内容先快速的掌握&#xff0c;然后在这个基础上细化改进。我的好友冰川擅长Python技术&#xff0c;所以就拿来主义&#xff0c;参考了他的文章…

tensorflow 指定cpu 但是还会运行 gpu_PyTorch VS TensorFlow 谁最强?这是标星 15000+ Transformers 库的运行结果...

点击上方“AI有道”&#xff0c;选择“星标”公众号重磅干货&#xff0c;第一时间送达作者 | Lysandre Debut译者 | 陆离出品 | AI科技大本营(ID: rgznai100)【导语】自然语言处理预训练模型库 Transformers 实现了几种用于 NLP 任务的最先进的 Transformer 架构&#xff0c;如…

CSS 组合选择符

CSS 组合选择符 一、简介 组合选择符说明了两个选择器直接的关系. CSS组合选择符包括各种简单选择符的组合方式。 在 CSS3 中包含了四种组合方式: 后代选择器(以空格分隔)子元素选择器(以大于号分隔&#xff09;相邻兄弟选择器&#xff08;以加号分隔&#xff09;普通兄弟选择器…

python爬取知乎live_python爬虫——xml数据爬取

回想去年写毕业论文时候需要数据&#xff0c;虽然数据量不大&#xff0c;但是手工录入&#xff0c;也是颇费眼神。现在自学了Python&#xff0c;就拿曾经的需求当做案例吧&#xff01; 爬取目标&#xff1a;最近20年每个月的仔猪价格&#xff0c;生猪价格和猪肉价格 爬取软件&a…

after不显示_web前端入门到实战:css实现单行、多行文本超出显示省略号

前言&#xff1a;项目中我们经常遇到这种需求&#xff0c;需要对单行、多行文本超出显示为省略号。这篇文章主要总结了小编解决此问题的方法&#xff0c;有不足之处欢迎大家指正。单行文本省略.ellipsis-line {border: 1px solid #f70505;padding: 8px;width: 400px;overflow: …

linux下查看内存使用情况

基本内存术语解读 1> free -m 同样是做为缓存&#xff0c;buffers和cache又有啥区别呢&#xff1f; 于是又查了些资料&#xff0c;发现buffers实际应该是叫“缓冲”&#xff0c;其英文解释是&#xff1a;A buffer is something that has yet to be "written" to d…

redistemplate使用_如何使用 SpringBoot + Redis 优雅的解决接口幂等性问题

# 前言在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求&#xff0c;我们来解释一下幂等的概念&#xff1a;任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义&#xff0c;最终的含义就是 对数据库的影响只能是一次性的&#xff0c;不能重复处理。如何…

python 创建类_python 用type()创建类

type()可以查看一个类型&#xff0c;也可以查看变量的类型class Hello1(object):def hello(self, name world):print(Hello, %s % name)h1 Hello1()h1.hello()print(type(Hello1))print(type(h1))输出&#xff1a;Hello, world#Hello是一个class&#xff0c; 它的类型就是typ…

关于c语言中如何四舍五入(圆整)的问题!

关于c语言中如何四舍五入(圆整)的问题! 在c语言中,用70.0/6得到的值赋给一个浮点变量,只会得到11.666667(因为浮点型只留下小数点后六位),而如果我们想输出结果的约数,必须要对结果进行四舍五入. 一般来说,在c语言中,如果想要对一个结果进行四舍五入,我们通常会先将需要圆整的…

图像的灰度级和动态范围(转)

学习笔记&#xff08;一&#xff09;——图像的灰度级和动态范围转载于:https://www.cnblogs.com/LittleTiger/p/9359712.html

jdbctemplate 开启事务_SpringBoot 系列教程之事务隔离级别知识点小结

上一篇博文介绍了声明式事务Transactional的简单使用姿势&#xff0c;最文章的最后给出了这个注解的多个属性&#xff0c;本文将着重放在事务隔离级别的知识点上&#xff0c;并通过实例演示不同的事务隔离级别下&#xff0c;脏读、不可重复读、幻读的具体场景I. 基础知识在进入…

东风小康为什么是dfsk_助力地摊经济瑞驰纯电动物流车和东风小康微型货车厚积薄发...

核心提示&#xff1a;小康集团旗下瑞驰纯电动物流车及东风小康微型货车深耕多年&#xff0c;其中瑞驰纯电动物流车2015年上市&#xff0c;连续多年销量位列中国行业第一。近日&#xff0c;地摊经济成为热门&#xff0c;疫情常态化下&#xff0c;地摊经济、小店经济对于快速恢复…

链表中删除选定结点的优雅操作!

一般我们在进行单向链表链表的结点删除操作时,都是通过相应的结构体指针进行链表的遍历,然后找 到需要删除的节点,为了完成删除操作,我们需要在寻找该节点时,不断地记录下这个节点前面的节点 (prev),来保证当特定结点被删除后,我们还可以将断开的链表重新连起来,下面给出一段…

python抢货程序_Python自动化xpath实现自动抢票抢货代码示例

本篇文章小编给大家分享一下Python自动化xpath实现自动抢票抢货代码示例&#xff0c;文章代码介绍的很详细&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家供大家参考&#xff0c;有需要的小伙伴们可以来看看。 总代码&#xff1a; for i in range(51,56): driver.imp…

Ubuntu安装pycharm并且激活

下载pycharm: https://www.jetbrains.com/pycharm/download/#sectionlinux 选择专业版下载&#xff0c;然后提取&#xff0c;也就是解压 进入解压后目录&#xff0c;再进入bin目录&#xff0c;打开终端执行命令 ./pycharm.sh pycharm就启动了 激活Pycharm: 编辑hosts文件&am…

二阶矩阵转置怎么求_矩阵求导术(下)

点击上方“Datawhale”&#xff0c;选择“星标”公众号第一时间获取价值内容本文承接上篇 https://zhuanlan.zhihu.com/p/24709748&#xff0c;来讲矩阵对矩阵的求导术。使用小写字母x表示标量&#xff0c;粗体小写字母表示列向量&#xff0c;大写字母X表示矩阵。矩阵对矩阵的求…