דוגמא לעבודה עם Shelve

תיאור

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

אני רוצה לציין שאת הסקריפט הזה כתבתי כחודש אחרי שהתחלתי ללמוד פיתון. בקרוב אני מתכוון להוציא גירסה חדשה ומשופרת,בעלת אפשרויות רבות אחרות ובתקווה שגם GUI.

הסקריפט

[[ltr]]

   1 #--------------------------------------------------------------------------------------------------------------

   2 #This program was made by Mark Kels,

   3 #If you have any thing to say to me, email me at Mark.Kels@gmail.com .

   4 #

   5 #This is a simple Adrees book that was made using the shelve module.

   6 #The book is a Dictionarie and the Name is the key of the details (ICQ,Phone,etc).

   7 #this is the first version,soon there will be another one with more options.

   8 #--------------------------------------------------------------------------------------------------------------

   9 import shelve
  10 book=shelve.open("Address book")
  11 
  12 #The opening function:

  13 def start():
  14    #Print the options

  15    print
  16    print "1.View name"
  17    print "2.Add/Edit name"
  18    print "3.Delete name"
  19    print "4.Exit"
  20    print
  21    #Get input

  22    choice=raw_input(">> ")
  23    #If choice is 1, get Name and use it as a key in the book Dictionarie

  24    if choice=="1":
  25         viewname=raw_input("Name: ")
  26         print book[viewname]
  27         start()
  28    #If choice is 2, get Name(key) and details(values),then add is all to the book Dictionarie

  29    elif choice=="2":
  30         addname=raw_input("Name: ")
  31         addphone=raw_input("Phone number: ")
  32         addicq=raw_input("ICQ number: ")
  33         addemail=raw_input("Email: ")
  34         book[addname]=("Phone: "+addphone,"ICQ: "+addicq,"Email: "+addemail)
  35         start()
  36    #If choice is 3, get name and delete it from the book Dictionarie

  37    elif choice=="3":
  38         delname=raw_input("Name: ")
  39         del book[delname]
  40         start()
  41    #If choice is 4 do nothing(=program ends)

  42 
  43 
  44 start()
AdressBook.py [[rtl]]

דיון


קטגוריה היפי קטגוריה מתכוני פייתון

last edited 2008-04-20 19:53:13 by ניר סופר