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()是什么意思?请教高手。谢谢 展开
这个是网上搜到的方法,但没看懂。最后那个if l[:-1].strip()是什么意思?请教高手。谢谢 展开
1个回答
2013-05-29 · 知道合伙人软件行家
关注
展开全部
if l[:-1].strip()
l是从旧文件里读出来的每一行,判断如果不是空行,则把这一行存到列表中,再将新的列表按行写入新文件。
首先strip()是去除空白字符的意思。
l[:-1].strip()是把这一行中除了最后那个换行符去掉,然后再去掉空白字符得到的字符串
如果去掉换行符和空白符后得到的是空字符串的话,这一行就被抛弃,否则加入新的列表,等待写入。
l是从旧文件里读出来的每一行,判断如果不是空行,则把这一行存到列表中,再将新的列表按行写入新文件。
首先strip()是去除空白字符的意思。
l[:-1].strip()是把这一行中除了最后那个换行符去掉,然后再去掉空白字符得到的字符串
如果去掉换行符和空白符后得到的是空字符串的话,这一行就被抛弃,否则加入新的列表,等待写入。
追问
首先得先谢谢你。但我想知道“冒号负1”那个地方是什么意思。
追答
>>> a="helllo"
>>> a[:-1]
'helll'
哦,l[:-1]是指从开始到倒数第一个字符。
就像我上面给你写的这个例子。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询