Python JSON تفريغ/إلحاق.txt مع كل متغير في السطر الجديد



append newline (1)

سؤالك غير واضح قليلاً. إذا كنت 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 ، لكنني أريد أن يكون كل قاموس في سطر جديد.

قاموسي:

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)

يؤدي هذا إلى إلحاق كل قاموس بـ "data.txt" ولكنه يفعل ذلك مضمّنًا. أريد أن يكون كل إدخال قاموس في سطر جديد. سيكون موضع تقدير أي نصيحة.





dump