()
| 16 | f = _orig_open(file, mode, bufsize) |
| 17 | _orig_close = f.close |
| 18 | def close(): |
| 19 | _orig_close() |
| 20 | import filecmp |
| 21 | if filecmp.cmp(backup, file, shallow=False): |
| 22 | import os |
| 23 | os.unlink(file) |
| 24 | os.rename(backup, file) |
| 25 | f.close = close |
| 26 | return f |