[英]Create file inside of zip archive python
我有一个外部文件系统和从那里下载数据的方法。 我想将所有数据下载到.zip存档中。
我能做的是:
file
data
从设备下载到此file
file
zipfile.write(file)
将文件添加到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.