python 如何去除文本中多余的换行符

我用re.sub()匹配并删除多余的行后,保存到文本中。一切都正常,只是它删除多余的行后那一行就空了,保存的时候,就看到有好多空的回车,很不好看。
>>>
bckg.dll

bckgres.dll

bckgzm.exe

chkr.dll

    Python中换行符为"\n";

    Python中操作换行符的函数为:replace("\n",""),替换函数;

    步骤:先判断读取文件,判断每一行是不是只包含换行符:

    如果是,则直接删除;

    如果不是,则用replace("\n","")替换所有换行符,并在最后加一个换行符。

    代码如下:

    fpa=open("dll.txt","r")
    fpb=open("dllNew.txt","w")
    for linea in fpa.readlines():
        lineb=linea.replace("\n","")
        if lineb == "":
            print "Blank !"
        else:
            fpb.write(linea)
    fpa.close()
    fpb.close()

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-22

Python读取一个文本文件,删除文本文件的空行代码如下:

def delblankline(infile, outfile):
    """ Delete blanklines of infile """
    infp = open(infile, "r")
    outfp = open(outfile, "w")
    lines = infp.readlines()
    for li in lines:
        if li.split():
            outfp.writelines(li)
    infp.close()
    outfp.close()


#调用示例

if __name__ == "__main__":
    delblankline("1.txt","2.txt")

第2个回答  2015-11-10
f = open(路径,'r')
lists = f.readlines()
for i in range(len(lists)):
lists[i] = lists[i].strip('\n')
f.close()
第3个回答  2011-05-16
若文件内容在大字符串content中:
[ln for ln in content.splitlines() if ln.strip()]

若保存前处理的各行在列表 processedlist中:
[l for l in processlist if l.strip()]本回答被提问者采纳
相似回答