python - 如何将文本文件写入 syslog.1.gz 文件?
问题描述
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。因为我想编辑这个日志并删除一些特定的日志。但现在我得到这些错误:
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'
你能帮我吗?
解决方案
推荐阅读
- arrays - Spring Cloud Open Feign:ByteArrayResource 的解码器
- go - 将零 int 断言为 int32
- c - 我的目标是生成 2 个使用 while 循环的函数:
- python - 检查列表中是否存在项目并打印该项目和该项目所在的其他字段
- .net-core - 如何解决此连接字符串错误?
- ios - 带有手势行的SwiftUI ScrollView无法识别滚动
- javascript - 是否可以更改“annotationStyleEditButton”和“annotationDeleteButton”的 webviewer 按钮图标
- typescript - 在我的 nativescritp 应用程序中为 backend.service.ts 导入 kinvey 时出错
- python - 为自定义损失函数创建形状与模型输出相同的 keras 张量
- amazon-iam - RDS 实例能否代入另一个账户的角色?