python按行读取文件取消空白行_python去掉空白行的多种实现代码

测试代码 jb51.txt

1:www.jb51.net

2:www.jb51.net

3:www.jb51.net

4:www.jb51.net

5:www.jb51.net

6:www.jb51.net

7:www.jb51.net

8:www.jb51.net

9:www.jb51.net

10:www.jb51.net

11:www.jb51.net

12:www.jb51.net

13:www.jb51.net

14:www.jb51.net

15:www.jb51.net

16:www.jb51.net

python代码

代码一

# -*- coding: utf-8 -*-

'''

python读取文件,将文件中的空白行去掉

'''

def delblankline(infile, outfile):

infopen = open(infile, 'r',encoding="utf-8")

outfopen = open(outfile, 'w',encoding="utf-8")

lines = infopen.readlines()

for line in lines:

if line.split():

outfopen.writelines(line)

else:

outfopen.writelines("")

infopen.close()

outfopen.close()

delblankline("jb51.txt", "o.txt")

代码二

# -*- coding: utf-8 -*-

'''

python读取文件,将文件中的空白行去掉

'''

def delblankline(infile, outfile):

infopen = open(infile, 'r',encoding="utf-8")

outfopen = open(outfile, 'w',encoding="utf-8")

lines = infopen.readlines()

for line in lines:

line = line.strip()

if len(line)!=0:

outfopen.writelines(line)

outfopen.write('\n')

infopen.close()

outfopen.close()

delblankline("jb51.txt", "o2.txt")

代码三:python2

#coding:utf-8

import sys

def delete(filepath):

f=open(filepath,'a+')

fnew=open(filepath+'_new.txt','wb') #将结果存入新的文本中

for line in f.readlines(): #对每一行先删除空格,\n等无用的字符,再检查此行是否长度为0

data=line.strip()

if len(data)!=0:

fnew.write(data)

fnew.write('\n')

f.close()

fnew.close()

if __name__=='__main__':

if len(sys.argv)==1:

print u"必须输入文件路径,最好不要使用中文路径"

else:

delete(sys.argv[1])

效果图

20180319202606.png

代码解析:

1. Python split()通过指定分隔符对字符串进行切片,返回分割后的字符串列表。str.split()分隔符默认为空格。

2. 函数 writelines(list)

函数writelines可以将list写入到文件中,但是不会在list每个元素后加换行符,所以如果想每行都有换行符的话需要自己再加上。

例如:for line in lines:

outfopen.writelines(line+"\n")

3. .readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。

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

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

相关文章

android 大视图风格通知栏,Android中使用Notification实现宽视图通知栏(Notification示例二)...

Notification是在你的应用常规界面以外展现的消息。当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏。要查看消息的详情须要进入通知抽屉(notificationdrawer)中查看。通知栏和通知抽屉html(notificationdrawer)都是系统层面控制的,你能…

计算机、数学、运筹学等领域32个重要算法

来源: 深度学习与机器视觉奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机…

怎么用python表白_如何正确使用Python进行表白?这是个值得思考的问题!

提到程序员, 可能每个同学都认识一个—— 爱穿格子衬衫、冲锋衣,爱宅着敲代码的程序员或者准程序员, 他们仿佛永远在bug和debug的路上, 还总爱自黑自己是“单身狗”,如何正确使用Python进行表白?这是个值得…

iOS 高阶

1.UIStoryBoard 2. segue跳转传值 3. UIColor配色 //1. 十进制配色 [UIColor colorWithRed:163.0/255.0 green:148.0/255.0 blue:128.0/255.0 alpha:1.0]; //2. 设置16进制颜色(同上) [UIColor colorWithRed:0xba/255.0 green:0x21/255.0 blue:0xd5/255.0 alpha:1.0]; 4. XML解…

android 顶部标签切换,Android实现底部切换标签

本文实例为大家分享了Android实现底部切换标签的具体代码,供大家参考,具体内容如下实现底部通用切换标签 ,嵌套Fragment,方便自定义布局自定义控件:widget_tab_view.xmlandroid:layout_width"match_parent"a…

simulink显示多个数据_Matlab/Simulink与自动驾驶(ADAS)算法开发

Simulink是如何存在自动驾驶的开发过程中?废话少讲,让咱们开始娓娓道来!自动驾驶的开发架构是什么?自动驾驶软件开发基础的架构,逃不出我们经常所说的三大法宝,感知--- 决策(规划)--- 执行(控制)&#xff0…

数字孪生智慧城市建设加速5G+产业AI的应用,全流程数据透明化及实时可控成为升级的大方向,构建智慧城市生态圈在路上!...

本视频为深圳市副市长和IDG领导在高交会智慧城市论坛上的讲话。来源:北京物联网智能技术应用协会 本期正文Digital Twin数字孪生:是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0…

Linux部署Apache ActiveMQ 5.14.1

Linux部署Apache ActiveMQ 5.14.1 简单记一下,下载地址 http://activemq.apache.org/download.html 一、安装JDK7以上,官方说明:http://activemq.apache.org/version-5-getting-started.html 二、创建目录: cd /usrmkdir activemq…

python做excel表格柱状图_Python Excel 绘制柱形图

原博文 2019-11-19 22:07 − 本文主要讲述如何使用Python操作Excel绘制柱形图。 相关代码请参考 https://github.com/RustFisher/python-playground 本文链接:https://www.rustfisher.com/2019/11/19/Python/Python-op-ex... 相关推荐 2019-12-08 20:02 − 利用Pyth…

管理口地址 ibm_WAN口有IP地址上不了网如何解决 WAN口有IP地址上不了网解决方法【详解】...

设置好路由器WAN口PPPoE拨号后,WAN口状态已经显示获得到IP地址,如下图:WAN口有IP地址上不了网怎么办但是终端设备连接路由器无法上网,请参考以下步骤排查。电脑需要设置为自动获得IP地址,如果您不清楚如何设置&#xf…

IBM 消费者洞察报告,揭示 5G 娱乐时代的三大关键趋势

来源:IBM中国 5G 时代来临,三大变革力量的出现,注定让“传统媒体”彻底无眠。消费者对 5G 技术兴趣盎然 5G 为消费者带来的最重要好处是能够提升移动视频流的质量,最终转向超高清 (UHD) 格式。 沉浸式媒体吸引了消费者的浓厚兴趣 …

什么时候需要coinitialize_机器学习模型什么时候需要做数据标准化?

机器学习Author:louwillMachine Learning Lab一直都有朋友在做机器学习模型时有疑问:我的数据要不要做标准化处理?这个问题笔者也思考过,只不过不够系统,观点也比较单一,所以才有了上图中的【变量单位之间数…

机器人与人工智能: 应对全球挑战的终极途径

来源:中国指挥与控制学会欧洲机器人协会主席伯纳德利珀特(Bernd Liepert)近日在2019 世界机器人大会上透露,未来产业界将在欧洲机器协会的项目中发挥领导作用,欧盟正在推动一个2021 年至2027 年的新项目,总…

6位顺序号生成_分布式id生成策略,我和面试官扯了一个半小时

一、分布式系统带来ID生成挑战在分布式系统中,往往需要对大量的数据如订单、账户进行标识,以一个有意义的有序的序列号来作为全局唯一的ID。而分布式系统中我们对ID生成器要求又有哪些呢?全局唯一性:不能出现重复的ID号,既然是唯…

数据库的前世今生

译者 | 谭开朗编辑 | 屠敏来源 | CSDN(ID:CSDNnews)【CSDN 编者按】被称之为基础软件三驾马车之一的数据库,在经历了层次型和网状型、关系型数据型库以及更加强大的数据管理功能等三个时期之后,其在未来的发展历程中还…

android app links,Android APP Links 配置

一. 简介在Instant App开发中,需要app支持Instant App Links. 本文中,主要介绍其作用,配置必需条件,配置的过程。二. 作用App Links 本质上是 Deep Link 的一种延伸,我们知道,Deep Link配置在Manifest之后&…

【边缘计算】对边缘计算的理解与思考

来源:边缘计算社区在2019年第三届边缘计算技术研讨会上华为高级产业发展经理、ECC需求与总体组副主席黄还青发表了《ECC及华为在边缘计算领域的思考与实践》主题演讲,本文为黄还青演讲中对边缘计算理解及思考。首先我们认为边缘计算的兴起应该是在过去三…

【代码笔记】iOS-实现网络图片的异步加载和缓存

代码: - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.self.title"EGOImageViewDemo"; //实现网络图片的异步加载和缓存 EGOImageView *imageView [[EGOImageView alloc] initWithPlaceholderImage:[UIIm…

python executemany执行延迟_运维架构师-Python 自动化运维开发-031

*运维架构师-Python 自动化运维开发-031十九、Python3 操作数据库1、Python3 操作 MySQL1、基本介绍Python3 操作 MySQL 数据库 可以使用的模块是 pymysql 和 MySQLdb。这个两个模块都是通过自己的 API 执行原生的 SQL 语句实现的。MySQLdb 是最早出现的一个操作 MySQL 数据库的…

bilibili 解析_用 Python 抓取 bilibili 弹幕并分析!

时隔一年,嵩哥带来他的新作《雨幕》。他依旧认真创作,追求高品质,作品在发表之前已听了五百遍以上。如此高品质的音乐,大家如何评价呢?通过哔哩哔哩上的视频弹幕,感受一下。01 实现思路首先,利用…