Я пытаюсь прочитать файл gz и очистить его (удалить все \ n и \ r) и записать его в новый файл. Но новый файл начинается с пустой строки.
Как исправить?
Мой код:
import json
import urllib
import boto3
import re
import gzip
import os
inputdir='/tmp/bhuvi/'
for filename in os.listdir(inputdir):
with gzip.open('/tmp/bhuvi/'+file_name, 'rb') as f,open('/tmp/new/custom'+file_name.replace('.gz',''), 'w') as fout:
file_content = str(f.read().decode('utf-8'))
fout.write(file_content)
#read lines from the new file and repalce all new lines
#Credits for this piece PMG.COM
with open('/tmp/new/custom'+file_name.replace('.gz',''), 'r', encoding='utf-8') as log_file:
log_data = log_file.read().replace('\n', ' ')
log_data = re.sub(r'(\'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z UTC)', '\n \\1', log_data)
newlog = re.sub(r'^\s*$', '', log_data)
#write the formatter lines to a file
with open('/tmp/new/cleansed_'+file_name.replace('.gz','')+'.txt', 'w') as fout:
fout.writelines(newlog)