import os,gzip, shutil
string = "Jul 28 14:09"
with gzip.open('/var/log/syslog.1.gz', 'rb') as f_in:
with open('/home/usr/tmp.txt', 'wb') as f_out:
for line in f_in:
if string not in str(line):
f_out.write(line)
f_in.close()
f_out.close()
with gzip.open('/var/log/syslog.1.gz', 'wb') as f:
content = open('/home/usr/tmp.txt', 'rb').read()
binary = content.encode()
for line in binary:
f.write(line)
Я пробовал это. Поэтому я записал весь syslog.1.gz в текстовый файл без строк, в которых программа находит строку. Затем я хочу перезаписать syslog.1.gz. Потому что я хочу отредактировать эти журналы и удалить некоторые c журналы. Но теперь я получаю следующие ошибки:
Traceback (most recent call last):
File "/home/usr/PycharmProjects/clear/test.py", line 13, in <module>
with gzip.open('/var/log/syslog.1.gz', 'wb') as f:
File "/usr/lib/python3.6/gzip.py", line 53, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
File "/usr/lib/python3.6/gzip.py", line 163, in __init__
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
PermissionError: [Errno 13] Permission denied: '/var/log/syslog.1.gz'
Не могли бы вы мне помочь?