2017-09-10 1 views
1

나는 보통리스트에 json을 사용하지만 세트에는 사용할 수 없습니다. 출력 파일에 세트를 쓰는 비슷한 함수가 있습니까? 다음과 같이 설정해야합니다.파이썬의 출력 파일에 세트 작성하기

f=open('kos.txt','w') 
json.dump(list, f) 
f.close() 
+0

에 붙어 있으며'set'은 json 표준이 아닙니다. 달성하고자하는 것은 무엇입니까? 지속성? –

+0

형식화가 손실되지 않도록 튜플 목록 집합을 인쇄하려고합니다. 내가 볼 수있는 한 가지 방법은 목록으로 다시 변경하는 것입니다. 세트를 파일로 인쇄하는 방법이 있습니까? – PolkaDot

답변

0

json은 파이썬 특정 형식이 아닙니다. 목록과 사전은 알고 있지만 집합이나 튜플은 알지 못합니다.

그러나 순수 파이썬 데이터 집합을 유지하려면 문자열 변환을 사용할 수 있습니다.

with open('kos.txt','w') as f: 
    f.write(str({1,3,(3,5)})) # set of numbers & a tuple 

다시 다시는 한 데이터가 그대로 평가 될 수있는 세트의 목록, 내부 세트와 중첩 된 목록 ... 작동 ast.literal_eval

import ast 
with open('kos.txt','r') as f: 
    my_set = ast.literal_eval(f.read()) 

를 사용하여 읽어 보시기 바랍니다. 그래서 기본적으로 어떤 파이썬 기본 객체 구조를 str으로 직렬화하면 다시 파싱 할 수 있습니다.

또한 pickle 모듈을 사용할 수도 있지만, 바이너리 데이터, 그래서 더 "불투명"을 생성하고, json 사용하는 방법도있다 : Python sets are not json serializable가. 하지만 귀하의 필요에 따라 나는 str/ast.literal_eval