我想创建一个给定目录中所有HTML文件的zip文件。该zip将作为附件通过电子邮件与目录中的其余文件一起发送。如果我从小马发送任何附件是HTML文件,我到目前为止尝试的所有电子邮件客户端都无法阅读电子邮件。所以我以为我会把它拉下来。
有没有办法压缩 HTML 文件,但实际上只在内存中,而不使用任何临时文件< strong> Windows平台?最好不要使用任何外部程序?
如果我理解正确,两种方法都在:
中描述正在使用某种临时文件。
答案 0 :(得分:1)
起初我想也许你可以使用StringIO对象来写,但看起来ZipOutputStream类坚持打开一个临时文件。
如果您不介意调用外部程序,可以通过使用“ - ”而不是文件名告诉标准linux zip将otuput发送到stdout而不是文件。所以只需将输出收集到变量中,然后用它做任何你想做的事。
zipdata = %x(zip -q - *.html)
我认为这不仅仅是使用临时文件的效率提升,但你必须对其进行测量才能确定。