use*_*978 5 python zip temporary-files tarfile
假设我们有一个临时文件,可以向其中写入一些输出。但出于某种奇怪的原因,我们希望通过一些归档技术(例如 tar)对其进行压缩,
我所说的 tempfile 是指没有由 tempfile.TemporaryFile() 创建的可见名称的文件。有任何想法吗?我的第一印象包括一些调整和类继承..有没有更简单的方法?
fileobj的参数正是tarfile.open为了这个目的:您可以传递任何支持写入的类似文件的对象,并且tarfile会很乐意使用它,而不是尝试访问文件系统。请注意,此类文件应以二进制模式打开,而不是以文本模式打开(tempfile.TemporaryFile默认情况下)。
同样,第一个参数zipfile.ZipFile可以是类似文件的对象。
所以你可以这样做:
\n\nwith tempfile.TemporaryFile(suffix=\'.tar.gz\') as f:\n with tarfile.open(fileobj=f, mode=\'w:gz\') as tar:\n tar.add(\xe2\x80\xa6)\n\n f.flush()\n f.seek(0)\n print(f.read())\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\nwith tempfile.NamedTemporaryFile(\'wb\', suffix=\'.tar.gz\', delete=False) as f:\n with tarfile.open(fileobj=f, mode=\'w:gz\') as tar:\n tar.add(\xe2\x80\xa6)\nRun Code Online (Sandbox Code Playgroud)\n\n保留f.name在您的文件系统上并稍后探索其内容。
| 归档时间: |
|
| 查看次数: |
5148 次 |
| 最近记录: |