파일과 튜플 목록을 읽고 쓰고 싶습니다. 파일에서 파이썬의 튜플리스트 목록을 읽으십시오.
g_faces = [[(3,2)(3,5)],[(2,4)(1,3)(1,3)],[(1,2),(3,4),(6,7)]]
나는
pickle.dump(g_faces, fp)
pickle.load(fp)
- 을 사용하지만 파일은 사람이 읽을 수 없습니다. 그것을 할 수있는 쉬운 방법이 있습니까?
파일과 튜플 목록을 읽고 쓰고 싶습니다. 파일에서 파이썬의 튜플리스트 목록을 읽으십시오.
g_faces = [[(3,2)(3,5)],[(2,4)(1,3)(1,3)],[(1,2),(3,4),(6,7)]]
나는
pickle.dump(g_faces, fp)
pickle.load(fp)
json 모듈을 사용해보십시오.
import json
g_faces = [[(3,2), (3,5)],[(2,4), (1,3), (1,3)],[(1,2), (3,4), (6,7)]]
json.dump(g_faces, open('test.json', 'w'))
g_faces = json.load(open('test.json'))
# cast back to tuples
g_faces = [[tuple(l) for l in L] for L in g_faces]
의 복제본 JSON은 목록과 튜플 (둘 다 JSON 배열로 직렬화 됨)이므로 결과에는 * all * 목록이 포함됩니다. – jonrsharpe
@jonrsharpe 좋은 지적. OP는 튜플 목록을 요청하고 있습니다. –
그것은 나에게 알려줍니다 : TypeError : <_io.TextIOWrapper name = 'test.json'mode = 'w'encoding = 'cp1252'> JSON을 직렬화 할 수 없습니다 –
* "파일을 사람이 읽을 수 없습니다"* - 그래서 무엇입니까? 있을 수 없어요. – jonrsharpe
당신은 용감한 사람이라면 같은 인터페이스를 사용하는'json' 또는'eval'을 사용할 수 있습니다. 'json'을 사용한다면 포맷을 약간 손상시켜야합니다. –
아마도 [Python 사람이 읽을 수있는 개체 직렬화] (http://stackoverflow.com/questions/408866/python-human-readable-object-serialization?rq=1) –