在zip存档python中创建文件
我有一个外部文件系统,可以从那里下载数据。我想将所有数据下载到.zip存档中在zip存档python中创建文件,python,zipfile,Python,Zipfile,我有一个外部文件系统,可以从那里下载数据。我想将所有数据下载到.zip存档中 我能做的是: 创建要写入的文件 将数据从设备下载到此文件 写入文件 使用zipfile.write(文件) 我想做的是: 创建邮政编码存档 将数据从设备下载到此存档中创建的文件,无需在本地驱动器上创建该文件 下面是无法获得想法的工作代码: def get_all_files(self): self.savedir() zipf = zipfile.ZipFile(self.dir_to_save
我能做的是:
- 创建要写入的
文件
- 将
从设备下载到此数据
文件
- 写入
文件
- 使用
zipfile.write(文件)
- 创建邮政编码存档
- 将
从设备下载到此存档中创建的文件,无需在本地驱动器上创建该文件数据
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);
将允许您将内存缓冲区的内容写入由filename或
ZipInfo
实例提供的zip条目。但是,由于zip文件的性质,无法以流式方式执行此操作。如果您的目标只是不创建临时文件,
是您的保护程序,以及Ignacio回答中的ZipFile.writest()