اذهب إلى المحتوى
  • 0

كيف أكتب بيانات JSON في ملف عن طريق بايثون؟

ahmed1990

السؤال

لدي مجموعة من بيانات JSON مُخزنة في متغير data، وأريد أن أكتب هذه البيانات في ملف، فجربتُ هذه الطريقة:

obj = open('data.txt', 'wb')
obj.write(data)
obj.close

فحصلتُ على هذا الخطأ:

TypeError: must be string or buffer, not dict

فما الحل؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

في جزء JSON، متغير data هو عبارة عن قاموس ولم يتم ترميزه كبيانات JSON مما تسبب في ظهور رسالة الخطأ، وهنالك حلين لهذه المشكلة حسب إصدار بايثون المثبت على جهازك، فإذا كنت تستخدم الإصدار الثاني من بايثون فسنقوم باستخدام ترميز utf-8 بالإضافة إلى المكتبتين json وio كما في المثال التالي:

import io, json
with io.open('data.txt', 'w', encoding='utf-8') as f:
  f.write(unicode(json.dumps(data, ensure_ascii=False)))

أما لو كنت تستخدم الإصدار الجديد من بايثون (الإصدار الثالث) فسيكون الأمر أسهل، فلن نستخدم سوى دالة dump من مكتبة json مع الدالة المدمجة open كما في المثال التالي:

import json
with open('data.txt', 'w') as f:
  json.dump(data, f, ensure_ascii=False)

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...