Posted in Python onMarch 19, 2018
测试代码 3water.txt
1:3water.com 2:3water.com 3:3water.com 4:3water.com 5:3water.com 6:3water.com 7:3water.com 8:3water.com 9:3water.com 10:3water.com 11:3water.com 12:3water.com 13:3water.com 14:3water.com 15:3water.com 16:3water.com
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("3water.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("3water.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])
效果图
代码解析:
1. Python split()通过指定分隔符对字符串进行切片,返回分割后的字符串列表。str.split()分隔符默认为空格。
2. 函数 writelines(list)
函数writelines可以将list写入到文件中,但是不会在list每个元素后加换行符,所以如果想每行都有换行符的话需要自己再加上。
例如:for line in lines:
outfopen.writelines(line+"\n")
3. .readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。
python去掉空白行的多种实现代码
- Author -
为援不可图声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@