Python: 二进制文件转gz文件再转jpg扩展,最后返回原始二进制文件
我想在Python中做以下事情:
- 拿一个二进制(可执行的)文件
- 把它变成一个用gzip压缩的zip文件(后缀是gz)
- 然后再加上jpg的后缀
之后我还想把它恢复成原来的样子(去掉gz和jpg的后缀)。
我的想法是通过GMail的SMTP发送这些二进制文件,然后再通过IMAP取回来,最后处理成它们的原始形式(第一步)。
2 个回答
2
Python的gzip
和shutil
库可以满足你的需求。
首先,你可以用它们来压缩可执行文件。
import gzip, shutil
src = open('executable', 'rb')
dest = gzip.open('executable.gz.jpg', 'wb')
shutil.copyfileobj(src, dest)
src.close()
dest.close()
然后,如果你想要恢复原来的文件,也可以做到。
import gzip. shutil
src = gzip.open('executable.gz.jpg', 'rb')
dest = gzip.open('executable', 'wb')
shutil.copyfileobj(src, dest)
src.close()
dest.close()
不过要注意,Gmail的MIME过滤器是根据内容来判断的,而不是文件的扩展名,所以它可能还是会阻止这个新文件。