首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python删除空行

用Python删除空行
EN

Stack Overflow用户
提问于 2015-08-26 02:54:38
回答 3查看 3K关注 0票数 0

我有一个由两个列组成的文本文件,我想将它们彼此对应起来。我需要从文本文件中删除最后一个空行。

我尝试过各种各样的东西,例如:

代码语言:javascript
运行
复制
file = open('test3.dat')
lines = file.readlines()
lines = lines[:-1]
w = open('test3.dat','w')
w.writelines([item for item in lines[:-1]])
w.close()

这是:

代码语言:javascript
运行
复制
file = open('test3.dat')
lines = file.readlines() 
w = open('test3.dat','w')
del lines[-1] 
w.writelines(lines)
w.close()

但我总是最后一句空白行。我遗漏了什么?

更新:这将删除我的文件中的第二列,并转出第一列--也就是现在我的文件只是一行,其中包含了第一列的值。任何额外的帮助都是非常感谢的!

代码语言:javascript
运行
复制
import fileinput
lines = [line.strip() for line in fileinput.FileInput('test3.dat') ]
open('test3.dat','w').writelines(lines)
w.close()
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-26 02:59:12

如果要删除所有空行,可以这样做:

代码语言:javascript
运行
复制
lines = [line.strip() for line in file.readlines() if len(line.strip()) != 0]

要删除最后的空白行,请执行以下操作:

代码语言:javascript
运行
复制
pos = len(lines) - 1
while pos >= 0 and len(lines[pos].strip()) == 0:
  pos -= 1
lines = lines[:pos+1]
票数 0
EN

Stack Overflow用户

发布于 2015-08-26 02:59:17

看起来,最后一行在末尾有一个换行符,就像其他行一样;这给出了在编辑器中查看时最后一个空行的外观。这不应该对你所做的事情有任何影响。

票数 0
EN

Stack Overflow用户

发布于 2015-08-26 03:09:31

您可以使用fileinput库和strip()函数删除空行,如

代码语言:javascript
运行
复制
import fileinput
lines = [line.strip() for line in fileinput.FileInput("test3.dat") ]

或者您可以使用isspace()函数,如

代码语言:javascript
运行
复制
lines = [line for line in fileinput.FileInput("test3.dat") if not line.isspace()]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32217277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档