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

السؤال

Recommended Posts

  • 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()

 

تم التعديل في بواسطة عبدالباسط ابراهيم
إضافة بعض المعلومات
  • 0
نشر
بتاريخ 6 ساعة قال Mazen Mostafa2:

كيفيه جعل بايثون يحفظ بياناتي

كيفيه جعل بايثون يحفظ بياناتي

ما المقصود بحفظ بياناتك؟ لحفظ الكود في ملف ستقوم بإنشاء ملف على سطح المكتب بالضغط في أي مكان فارغ بزر الفأرة الأيمن ثم اختر new ثم text document ثم أعد تسمية ذلك الملف بالضغط عليه بزر الفأرة الأيمن ثم اختر rename وأعد تسميته إلى

app.py

المهم هو صيغة الملف py. ولا مشكلة في اختيار أي اسم.

بعد ذلك افتح الملف في محرر الأكواد vscode وقم بكتابة الكود الذي تريده واضغط على CTRL + S لحفظ الكود في الملف وسيبقى به وتستطيع العودة إليه في أي وقت.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...