diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2007-02-13 10:10:39 +0000 |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2007-02-13 10:10:39 +0000 |
commit | 081c73e9b7e3ccf510264348cb5628362a7c2be6 (patch) | |
tree | 7254882e103b8cf13ff80b3b1a20ee73bb45f056 /Lib/zipfile.py | |
parent | 41cf400695a5d2cd4534d93986582600c214b19b (diff) | |
download | cpython-081c73e9b7e3ccf510264348cb5628362a7c2be6.tar.gz |
Patch #1517891: Make 'a' create the file if it doesn't exist.
Fixes #1514451.
Diffstat (limited to 'Lib/zipfile.py')
-rw-r--r-- | Lib/zipfile.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/zipfile.py b/Lib/zipfile.py index 93a0b75edb..6e59242b32 100644 --- a/Lib/zipfile.py +++ b/Lib/zipfile.py @@ -396,7 +396,14 @@ class ZipFile: self._filePassed = 0 self.filename = file modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'} - self.fp = open(file, modeDict[mode]) + try: + self.fp = open(file, modeDict[mode]) + except IOError: + if mode == 'a': + mode = key = 'w' + self.fp = open(file, modeDict[mode]) + else: + raise else: self._filePassed = 1 self.fp = file |