dict
에서 repr()
을 사용한 다음 다시 읽어서 ast.literal_eval()
으로 구문 분석 할 수 있습니다. 파이썬 자체가 인간처럼 읽을 수 있습니다.
예 : 또한도 우호적 형식화 된 출력을위한 pprint
모듈을 사용하여 고려할 수 있습니다
In [1]: import ast
In [2]: x = {}
In [3]: x['string key'] = 'string value'
In [4]: x[(42, 56)] = {'dict': 'value'}
In [5]: x[13] = ('tuple', 'value')
In [6]: repr(x)
Out[6]: "{(42, 56): {'dict': 'value'}, 'string key': 'string value', 13: ('tuple', 'value')}"
In [7]: with open('/tmp/test.py', 'w') as f: f.write(repr(x))
In [8]: with open('/tmp/test.py', 'r') as f: y = ast.literal_eval(f.read())
In [9]: y
Out[9]:
{13: ('tuple', 'value'),
'string key': 'string value',
(42, 56): {'dict': 'value'}}
In [10]: x == y
Out[10]: True
.
당신의 추정 JSON보다 더 나은 뭔가를 무엇을 할 것인가? – BrenBarn
@BrenBarn :'print'와 일치하는'read' – sds
@sds 여러분이 읽어야 할 것은 입력 된 출력이 출력을위한 것입니다 ... 그들은 근본적으로 다른 두 가지입니다. –