| """Python 2/3 compatibility""" |
| import json |
| import sys |
| |
| |
| # Handle reading and writing JSON in UTF-8, on Python 3 and 2. |
| |
| if sys.version_info[0] >= 3: |
| # Python 3 |
| def write_json(obj, path, **kwargs): |
| with open(path, 'w', encoding='utf-8') as f: |
| json.dump(obj, f, **kwargs) |
| |
| def read_json(path): |
| with open(path, 'r', encoding='utf-8') as f: |
| return json.load(f) |
| |
| else: |
| # Python 2 |
| def write_json(obj, path, **kwargs): |
| with open(path, 'wb') as f: |
| json.dump(obj, f, encoding='utf-8', **kwargs) |
| |
| def read_json(path): |
| with open(path, 'rb') as f: |
| return json.load(f) |
| |
| |
| # FileNotFoundError |
| |
| try: |
| FileNotFoundError = FileNotFoundError |
| except NameError: |
| FileNotFoundError = IOError |