当从具有' a ppend或' w&r; rite模式的文件创建ZipFile时,我的行为会出现不一致:
from zipfile import ZipFile
with ZipFile(open('tempdir/a.zip', 'ab+'), 'a') as z:
z.writestr('file.txt', 'z'*100)
# file.txt is empty inside a.zip.
with ZipFile(open('tempdir/w.zip', 'wb+'), 'a') as z:
z.writestr('file.txt', 'z'*100)
# file.txt has correct contents inside w.zip.
不应该追加'并且'写'在这种情况下模式是等价的吗?这些文件事先并不存在,我期待' a.zip'包含非空的' file.txt'。
这种情况发生在Windows 10,Python 3.6,64位上。
编辑:无法在[Windows 10,Python 3.3.5,32位]或[Windows 10 Bash,Python 3.4.3,64 bit]上重现此问题。