伙计们,我正在生成一个 gzip 文件的 md5sum。从技术上讲,每次它压缩同一个文件,但生成的 md5sum 是不同的。我如何告诉它使用-n
标志来省略原始文件名和时间戳?
f_in = open(tmpFile, 'rb')
f_out = gzip.open(uploadFile, 'wb')
f_out.writelines(f_in)
f_out.close()
f_in.close()
谢谢!
该类GzipFile
允许您显式地提供文件名和标题的时间戳。
例如:
#!/usr/bin/python
import sys
import gzip
f = open('out.gz', 'wb')
gz = gzip.GzipFile('', 'wb', 9, f, 0.)
gz.write(str.encode('this is a test'))
gz.close()
f.close()
这将生成一个没有文件名且修改时间为零的 gzip 标头,这意味着根据 gzip 的 RFC 1952 标准没有修改时间。
如果您想将 utf-8 文本写入标题中没有文件名的 gz 文件,可以使用以下方法:
import gzip, io
ofile = open("./stuff.txt.gz", 'wb')
ogzfile = gzip.GzipFile('', 'w', 9, ofile, 0.)
ogztextfile = io.TextIOWrapper(ogzfile, 'utf-8')
ogztextfile.write("Зарегистрируйтесь сейчас на\nДесятую Международную\nКонференцию")
ogztextfile.close()
ogzfile.close()
ofile.close()