目录
1、行处理
删除文件中包含关键词的行
带中文
删除匹配“月”的行
import re
lineList = []
matchPattern = re.compile(r'月')
file = open('D:\myLog.txt','r',encoding='UTF-8')
while 1:
line = file.readline()
if not line:
print("Read file End or Error")
break
elif matchPattern.search(line):
pass
else:
lineList.append(line)
file.close()
file = open(r'D:\target.txt', 'w',encoding='UTF-8')
for i in lineList:
file.write(i)
file.close()
---------------------------------
删除匹配“INVALID PARAMETER”的行
import re
list = []
matchPattern = re.compile(r'INVALID PARAMETER')
file = open('C:\hopeinsighFPGA.txt','r')
while 1:
line = file.readline()
if not line:
print("Read file End or Error")
break
elif matchPattern.search(line):
pass
else:
list.append(line)
file.close()
file = open(r'C:\target.txt', 'w')
for i in list:
file.write(i)
file.close()
python:删除文件中包含关键词的行_https://blog.csdn.net/momomi_2005/article/details/23766895
re.compile(),正则表达式在模式匹配前进行预编译;使用预编译代码比字符串快;
test.txt中包含以下文字:
1:li
2:test
3:num
在运行完程序,生成的target.txt中,内容为
1:li
3:num
删除TXT中的带/不带指定字符的行(并保留带指定字符的行)
#!/bin/env python
import shutil, sys, os
noneed = ["null"]
need = ['{']
def isInArray (array, line):
for item in array:
if item in line:
return True
return False
fname = r'D:\download.json'
fresult = r'D:\download2.json'
#open(fname, 'r', encoding='gb2312')
with open(fname, 'r',encoding='UTF-8') as f:
with open(fresult, 'w', encoding='UTF-8') as g:
for line in f.readlines():
if isInArray(need, line):#含need里面字符的行 都要
g.write(line)
continue
if not isInArray(noneed, line):#不含noneed里面字符的行 都要
g.write(line)
删除匹配or不匹配某些条件的行
程序框架:
f = open("test.txt",'r+')
lines = [line for line in f.readlines() if 你对line的判断 is None]
f.seek(0)
f.truncate(0)
f.writelines(lines)
f.close()
示例:
删除包含有 darray 内的内容的行
#!/bin/env python
import shutil, sys, os
darray = [
"Entering directory",
"In function ",
"Leaving directory",
"__NR_SYSCALL_BASE",
"arm-hisiv100-linux-ar ",
"arm-hisiv100-linux-gcc ",
"but argument is of type",
"dereferencing type-punned pointer will break strict-aliasing rules",
"differ in signedness",
"does break strict-aliasing rules",
"embedded '\\0' in format",
"excess elements in array initializer",
"implicit declaration of",
"make -C ",
&#