我一直在互联网上搜索,但我无法找到如何使用python来gzip一个日志文件,并保留日志文件时间戳。我查看了python提供的gzip函数,但是由于它读取数据并输出它,所以它重写了文件的时间戳。我需要它的行为就像我对文件运行一个linux命令一样。有办法这样做吗?
try:
f_in=open(file,'rb')
f_out=gzip.open(file + '.gz','wb')
f_out.writelines(f_in)
f_out.close()
f_in.close()
# delete copy that gzip creates during gzip process
os.unlink(file)
except IOError, e:
print "Cant Gzip %s: File not found " % file
发布于 2014-12-07 21:18:46
来自文献资料
mtime参数是压缩时写入流的可选数字时间戳。所有gzip压缩流都需要包含时间戳。如果省略或
None
,则使用当前时间。此模块在解压缩时忽略时间戳;但是,一些程序(如gunzip )使用它。时间戳的格式与time.time()
的返回值和os.stat()
返回的对象的st_mtime
属性的格式相同。
发布于 2014-12-08 08:03:47
如果使用Python2.6,则zlib模块不可能调整写入gz文件的mtime。你只剩下两种方法:
https://stackoverflow.com/questions/27351779
复制相似问题