1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| """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
|
|