Удалите ненужные символы из файла журнала - PullRequest
1 голос
/ 21 мая 2019

Я пишу скрипт 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()

Я пытался заменить в моем, если это имеет дело со временем, но, похоже, оно не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...