Я пишу скрипт Python для чтения в файле, построчно через этот файл и анализирую данные из этого файла в другой текстовый файл через аргумент командной строки пользователя. Я близок к завершению, но в моем файле журнала есть странные символы «^ @», которые я не хочу включать в свой выходной файл.
temp.log:
06 May 19 03:40:35^@ 3 abCodeClearTrap Error Clear Trap (agent: 12367a12,
chassis:12367a12, ErrIdText: ERROR ID TEXT, csssi: EXTIFG, clearedID:
0x089088394)
06 May 19 03:44:35^@ 3 abCodeErrorTrap Error Trap (agent: 12368a15,
chassis:12368a15, ErrIdText: Skip this item, csssi: SSRSSR, clearedID:
0x089088394)
Мой код:
import re, sys
with open('temp.log') as f:
lines = f.readlines()
with open('output.txt') as o:
data = []
for line in lines:
if 'date' in sys.argv:
try:
date = re.match(r'\date{2} \w+ \date{2}', line).group()
row.append(date)
except:
date = 'date'
if 'time' in sys.argv:
try:
time = line.split()[3]
row.append(time)
lst = [x.replace("^@","") for x in lst]
row.append(",")
except:
time = 'time'
if 'agent' in sys.argv:
try:
agent = re.search(r'agent:\s(.*?),', line).group()
row.append(agent)
except:
agent = 'agent:'
if 'err' in sys.argv:
try:
errID = re.search(r'ErrIdText:\s(.*?),', line).group()
row.append(errID)
except:
errID = 'ErrIdText:'
if 'clear' in sys.argv:
try:
clear = re.search(r'clearedID:\s(.*?)\)', line).group()
row.append(clear)
except:
clear = 'clearedID:'
row = []
data.append(row)
for row in data:
lines = o.writelines(row)
lines = o.writelines("\n")
print(row)
o.close()
Я пытался заменить в моем, если это имеет дело со временем, но, похоже, оно не работает.