• 0

طريقة حفظ البيانات في لغة بايثون

إزاي احفظ تغييرات حصلت في الاسكربت مثال:

لعبة عايز احفظ أعلى اسكور وصل ليه المستخدم يعني مش كل مره يخرج و يدخل تآني يتمسح 

انشر على الشّبكات الاجتماعية


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

يوجد عدد من الخيارات، منها أن يتم حفظ إسم اللاعب و درجته كمتغيرات في ملف خارجي و عند بدء اللعبة يتم إستدعاء و قراءة الملف لتحميل المتغيرات:

import pickle

name = 'Test'; score = [100];
pickle.dump([name, score], open("trial.p", "wb"))

في البرنامج أعلاه تم إستخدام pickle library لحفظ المتغيرين الإسم و الدرجة في ملف إسمه trial.p و لتحميلهم مرة أخرى يمكن أن نقوم بالاتي:

name, score = pickle.load(open("trial.p","rb"))

print(name, score)

لاحظ أن عملية الكتابة تستخدم ب wb mode وهو الذي يمكننا من الكتابة في الملف، و عند الإستدعاء نستخدم rb mode وهو للقراءة من الملف الذي تم فيه حفظ القيم trial.p.

انشر على الشّبكات الاجتماعية


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

كما تم الشرح في التعليق السابق فإنه يمكنك حفظ هذه  المتغيرات في ال disk وذلك لحفظها عند إغلاق اللعبة وفي هذه الحالة يمكنك استخدام الحزمة shelve ويمكنك قراءة المزيد من المعلومات عنها من خلال الرابط السابق 

وذلك مثال على طريقة عملها

import shelve
d = shelve.open('score.txt') 
d['score'] = score            # الأن تم حفظ المتغير على ال disk
d.close()

ولقراءة البيانات من ال ملف نستخدم الكود التالي

import shelve
d = shelve.open('score.txt')
score = d['score'] 
d.close()

وإذا كنت لا تريد استخدام أي حزم يمكنك استخدام python فقط المثال التالي مبسط ويمكنك إضافة البينات أو الدوال التي تريدها وبالطبع يمكنك استخدام أي مكتبة لتوفر لك العديد من المميزات

حفظ البيانات 

with open('readme.txt', 'w') as f:
    f.write('readme')

ثم قرائتها

with open(path_to_file) as f:
    contents = f.read()

 

تمّ تعديل بواسطة عبدالباسط ابراهيم
إضافة بعض المعلومات

انشر على الشّبكات الاجتماعية


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

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن