怎么删除少于12个字节的行
读取TXT的文件,如果一个行少于12个字符就删除整行。谢谢! shell的awk
awk -F "" 'NF>=12' file 本帖最后由 银风冷月 于 2014-12-29 15:38 编辑
f = open('a.txt')
l = f.readlines()
f.close()
f = open('a.txt','w+')
i = 0
for j in l:
if len(j) > 12:
f.write(j)
f.close()还可以使用fileinput这个模块import fileinput
for i in fileinput.input('a.txt',inplace=1):
if len(i) > 12:
print i这些我都未测试,直接写的 有什么问题直接查找下资料 我的伪代码过程:
打开写文件句柄
打开读文件句柄
每次读到一行,
判断长度,
小于指定长度,跳过循环中后续步骤,开始读下一行
把读到的行,写入目标文件
关闭读文件句柄
关闭写文件句柄
(下面步骤不是一定需要的)
删除读的文件,
把写的文件改名为读的文件名
这样对于小文件足够了。
如果文件比较大,建议把中间过程改下,
一次读一个大缓冲区
针对缓冲区中的两个"\n"之间的长度进行正则匹配和过滤
过滤结果写到写入文件。 非常多的热心人,非常感谢。这几天在搬家没有来看贴。非常感谢。 用awk,一句话即可,楼主可以系统学习下awk 1073710317 发表于 2015-01-03 22:01 static/image/common/back.gif
用awk,一句话即可,楼主可以系统学习下awk
sorry,没注意到楼主发在python版块,用python也很容易
页:
[1]