שימוש במודול Shelve

המודול Shelve בעצם מאפשר לשמור מידע באופן דומה לשמירת מידע במילונים (Dictionaries) בפיתון. במדריך הזה נכין ספר כתובות פשוט הידגים את אופן השימוש במודול. מכיוון שהשימוש פשוט במיוחד, אנחנו נעבוד עם הסביבה האינטרקטיבית של פיתון (IDLE).

קודם כל אנחנו צריכים לייבא את המודול ולפתוח ספר כתובות חדש. את זה נעשה בעזרת הקוד הבא: [[ltr]]

>>> import shelve
>>> book = shelve.open("Adress book")

[[rtl]] Shelve.open פותח ספר כתובות קיים או יוצר חדש אם הוא לא מוצא ספר קיים לפתוח. בסקריפט למעלה פתחנו את המודול Shelve ולאחר מכן פתחנו ספר בשם "Adress book" בתוך המשתנה book (שעכשיו הוא מילון). מעכשיו אנחנו ניתייחס ל-book כמילון רגיל לכל דבר.

עכשיו ניצור שני מפתחות ונכניס בהם ערכים (בדיוק כמו ב-Dictionarie): [[ltr]]

   1 >>> book['flintstone'] = ('fred', '555-1234', '1233 Bedrock Place')
   2 >>> book['rubble'] = ('barney', '555-4321', '1235 Bedrock Place')
att2.py [[rtl]] הקטע הזה אמור להיות ברור לכל מי שיודע להשתמש במילונים. למי שלא יודע או שהקטע לא ברור לו, מומלץ לחזור על מבני מידע (Data Structures) , ללא הידע הזה לא רק שלא תוכלו להבין את המדריך הזה אלא גם מדריכים רבים בהמשך (שלא נדבר על זה שלא תוכלו לתכנת באמת).

לבסוף נסגור את הקובץ ואת ה-IDLE בכלל: [[ltr]]

   1 >>> book.close()
att3.py [[rtl]] ועכשיו, פתחו את ה-IDLE באותה תיקייה בה עשיתם זאת פעם קודמת, ייבאו שוב את המודול ופתחו את הקובץ ("Adress book"): [[ltr]]

>>> import shelve
>>> book = shelve.open("Adress book")

[[rtl]] ועת השתמשו באחד המפתחות שקבענו קודם, ותראו מה יקרה: [[ltr]]

   1 >>> book['flintstone']
   2 ('fred', '555-1234', '1233 Bedrock Place')
att4.py [[rtl]]

סיכום

בעצם השימוש במודול Shelve זהה לשימוש במילונים (מחיקה,עריכה,סידור מידע,חיבור ועוד נעשים באופן זהה) אך הוא גם שומר את המידע על קובץ נפרד, הנגיש גם אחרי היציאה מה-IDLE או מהתוכנית (בניגוד למילון רגיל,שמאבד את המידע ואת הגדרתו בתור מילון כאשר התוכנית נגמרת).

ניתן לראות דוגמא לסקריפט המשתמש במודול Shelve ליצירת ספר טלפונים בסיסי, במתכוני פייתון



קטגוריה היפי

last edited 2008-01-11 19:11:12 by bzq-79-176-183-37