我创建一个打开的文件,如下所示:
self.file = open(self.gamefile, 'ab')
然后,我用ZipFile对象向它写了两次。你知道吗
with zipfile.ZipFile(self.file, 'a', zipfile.ZIP_DEFLATED) as zipf:
zipf.writestr("file1.mcw", pickle.dumps(world))
with zipfile.ZipFile(self.file, 'a', zipfile.ZIP_DEFLATED) as zipf:
zipf.writestr("file2.mcw", pickle.dumps(world2))
第一次写入成功,文件被写入。一旦它再次打开并打印出内容,它就会显示它,即使是“a”模式(!),已被截断。第二次写入也成功,但结果zipfile只包含file2.mcw
有什么问题?你知道吗
我知道我可以把第二个writestr
放到第一个with
子句中,但这是一个简化的示例,我不能这样做。你知道吗
我认为你必须使用文件对象的名称,这是我测试和工作的方式:
相关问题 更多 >
编程相关推荐