programing

Python JSON 덤프 / .txt에 추가 (각 변수 새 줄에 포함)

starjava 2023. 2. 21. 23:18
반응형

Python JSON 덤프 / .txt에 추가 (각 변수 새 줄에 포함)

내 코드는 사전을 만들어 변수에 저장합니다.각 사전을 JSON 파일에 쓰고 싶은데, 각 사전을 새 줄에 놓았으면 합니다.

내 사전:

hostDict = {"key1": "val1", "key2": "val2", "key3": {"sub_key1": "sub_val2", "sub_key2": "sub_val2", "sub_key3": "sub_val3"}, "key4": "val4"}

코드의 일부:

g = open('data.txt', 'a')
with g as outfile:
  json.dump(hostDict, outfile)

그러면 각 사전이 '데이터'에 추가됩니다.txt'는 인라인입니다.각 사전 항목을 새 줄에 배치하십시오.어떤 조언이라도 해주시면 감사하겠습니다.

당신의 질문은 조금 애매합니다.생성 중인 경우hostDict루프 내:

with open('data.txt', 'a') as outfile:
    for hostDict in ....:
        json.dump(hostDict, outfile)
        outfile.write('\n')

각 변수를 다음 범위 내에서hostDict새로운 회선에 접속할 수 있습니다.

with open('data.txt', 'a') as outfile:
    json.dump(hostDict, outfile, indent=2)

언제?indent키워드 인수가 설정되어 있으면 새로운 행이 자동으로 추가됩니다.

혼동을 피하기 위해 질문과 답변을 모두 바꾸어 표현합니다.이 질문을 올린 사용자는 사전 유형 개체를 JSON 파일 형식으로 저장하기를 원했지만 사용자가 사용했을 때json.dump이 메서드는 모든 콘텐츠를 한 줄에 덤프합니다.대신, 그는 각 사전 항목을 새 줄에 기록하기를 원했다.이 목적을 달성하려면:

with g as outfile:
  json.dump(hostDict, outfile,indent=2)

사용.indent = 2각 사전 항목을 새 줄에 덤프할 수 있도록 도와줬습니다.@agf 감사합니다.혼란을 피하기 위해 이 답변을 다시 작성합니다.

언급URL : https://stackoverflow.com/questions/17055117/python-json-dump-append-to-txt-with-each-variable-on-new-line

반응형