繁体   English   中英

在zip存档python中创建文件

[英]Create file inside of zip archive python

我有一个外部文件系统和从那里下载数据的方法。 我想将所有数据下载到.zip存档中。
我能做的是:

  • 创建要写入的file
  • data从设备下载到此file
  • file
  • 使用zipfile.write(file)将文件添加到zip存档

我想做的是:

  • 创建zip archive
  • data从设备下载到此存档中的已创建文件, 而不在本地驱动器上创建

这里没有工作代码来获得一个想法:

def get_all_files(self):
    self.savedir()
    zipf = zipfile.ZipFile(self.dir_to_save+"/SD_contents.zip", 'w');
    for file in self.nsh.get_all_files("/fs/microsd"):
            # get_all_files() returns list of full file paths on the SD
            print file
            data = self.nsh.download_file("/fs/microsd"+file)
            zipf.write(data);

如果你的目标只是不创建临时文件, 那么StringIO就是你的救星 ,以及来自Ignacio的回答的ZipFile.writestr()

ZipFile.writestr()允许您将内存缓冲区的内容写入filename或ZipInfo实例给出的zip条目。 但由于zip文件的性质,没有办法以流方式进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM