python删除空行问题

qfile=open('wq.txt','w').writelines([lforlinopen('ww.txt','r').readlines()ifl[:-1].st... qfile = open('wq.txt','w').writelines([l for l in open('ww.txt','r').readlines() if l[:-1].strip()
这个是网上搜到的方法,但没看懂。最后那个if l[:-1].strip()是什么意思?请教高手。谢谢
展开
 我来答
百度网友87b2a52
2013-05-29 · 知道合伙人软件行家
百度网友87b2a52
知道合伙人软件行家
采纳数:523 获赞数:3490
毕业于南京大学,硕士学位。10年软件研发经验。现任信息系统架构师。

向TA提问 私信TA
展开全部
if l[:-1].strip()
l是从旧文件里读出来的每一行,判断如果不是空行,则把这一行存到列表中,再将新的列表按行写入新文件。
首先strip()是去除空白字符的意思。
l[:-1].strip()是把这一行中除了最后那个换行符去掉,然后再去掉空白字符得到的字符串
如果去掉换行符和空白符后得到的是空字符串的话,这一行就被抛弃,否则加入新的列表,等待写入。
追问
首先得先谢谢你。但我想知道“冒号负1”那个地方是什么意思。
追答
>>> a="helllo"
>>> a[:-1]
'helll'

哦,l[:-1]是指从开始到倒数第一个字符。

就像我上面给你写的这个例子。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式