用Python小程序建立命令行的實際應用方案
如果你對Python小程序的實際操作步驟有不解的地方,你可以通過以下的文章Python小程序有一個詳細的了解,本文涉及到的有用它創建自己的命令行 地址簿 程序,以及修改、刪除和搜索你的聯系人以及它們的信息。
因為要做電子海圖顯示方面的東西,在相關的論壇上面看到有些大牛說GDAL和PIL結合可以比較方便的繪制矢量圖形。顧名思義,PIL(Python Imaging Library)是建立在Python的基礎上的,所以從前天開始下載了Python2.6,看了Python簡明手冊,在這個手冊的最后,作者建議初學者做這樣一個程序,
即實現:創建你自己的命令行 地址簿 程序。在這個程序中,你可以添加、修改、刪除和搜索你的聯系人以及它們的信息。這些詳細信息應該被保存下來以便以后提取。
經過幾小時的折騰, Python小程序代碼如下:(順便說下,Python真的比較好上手,比起當初學VC/MFC可是輕松多了,當然也或許有部分原因是已經經歷過了c++)
- view plaincopy to clipboardprint?
- #MyFirstIntegratedPythonProgram
- import cPickle as P
- class notebook:
- dictnote={}
- def __init__(self):
- notebook.dictnote={'Randy':'12347865',
- 'Jackson':'67549087',
- 'Mary':'56432876'}
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- def __del__(self):
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- notebook.dictnote={}
- def delInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數據庫中沒有該聯系人的信息,請檢查輸入是否有誤!"
- break
- else:
- del notebook.dictnote[name]
- #dictnote.__delitem__(name)
- f=file('storeFile.txt','w')
- P.dump(notebook.dictnote,f)
- f.close()
- def addInfo(self,name,phone_number):
- while notebook.dictnote.__contains__(name)==True:
- print "數據庫中已經有該聯系人的信息,請確認輸入無誤!"
- break
- else:
- notebook.dictnote.__setitem__(name,phone_number)
- def inquiryInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數據庫中沒有該聯系人的信息,請檢查輸入是否有誤!"
- break
- else:
- print "你查詢的聯系人姓名是:'%s',電話號碼是:'%s'" %\
- (name,notebook.dictnote.__getitem__(name))
- def inquiryAll(self):
- print "所有聯系人的信息如下所示:\n%s"%notebook.dictnote
- def amendInfo(self,name):
- addr=raw_input("請確定修改后的地址是:")
- notebook.dictnote[name]=addr
- print "現在該聯系人的信息為:",name,notebook.dictnote[name]
- flag=True
- MyNoteBook=notebook()
- while flag==True:
- answer=raw_input('請確認你想"瀏覽聯系人(L)"、"查詢聯系人(C)"、"添加聯系人(T)"、\
- "修改聯系人(X)"、"刪除聯系人(S)"、"退出本程序(E)"?')
- if answer=='C':
- key=raw_input('請輸入想查詢的聯系人姓名:')
- MyNoteBook.inquiryInfo(key)
- elif answer=='T':
- key_name=raw_input('請輸入想添加的聯系人姓名:')
- key_phone=raw_input('請輸入該聯系人的電話號碼:')
- MyNoteBook.addInfo(key_name,key_phone)
- elif answer=='S':
- key=raw_input('請輸入想刪除的聯系人姓名:')
- MyNoteBook.delInfo(key)
- elif answer=='X':
- key=raw_input('請輸入想修改的聯系人姓名:')
- MyNoteBook.amendInfo(key)
- elif answer=='L':
- MyNoteBook.inquiryAll()
- elif answer=='E':
- flag=False
- else:
- print "請確認你輸入的是字母'C','T','S','E',即希望進行操作:查詢、添加、刪除\
- 以及退出!"
- #MyFirstIntegratedPythonProgram
- import cPickle as P
- class notebook:
- dictnote={}
- def __init__(self):
- notebook.dictnote={'Randy':'12347865',
- 'Jackson':'67549087',
- 'Mary':'56432876'}
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- def __del__(self):
- f=file('storeFile.txt','a')
- P.dump(notebook.dictnote,f)
- f.close()
- notebook.dictnote={}
- def delInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數據庫中沒有該聯系人的信息,請檢查輸入是否有誤!"
- break
- else:
- del notebook.dictnote[name]
- #dictnote.__delitem__(name)
- f=file('storeFile.txt','w')
- P.dump(notebook.dictnote,f)
- f.close()
- def addInfo(self,name,phone_number):
- while notebook.dictnote.__contains__(name)==True:
- print "數據庫中已經有該聯系人的信息,請確認輸入無誤!"
- break
- else:
- notebook.dictnote.__setitem__(name,phone_number)
- def inquiryInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數據庫中沒有該聯系人的信息,請檢查輸入是否有誤!"
- break
- else:
- print "你查詢的聯系人姓名是:'%s',電話號碼是:'%s'" %\
- (name,notebook.dictnote.__getitem__(name))
- def inquiryAll(self):
- print "所有聯系人的信息如下所示:\n%s"%notebook.dictnote
- def amendInfo(self,name):
- addr=raw_input("請確定修改后的地址是:")
- notebook.dictnote[name]=addr
- print "現在該聯系人的信息為:",name,notebook.dictnote[name]
- flag=True
- MyNoteBook=notebook()
- while flag==True:
- answer=raw_input('請確認你想"瀏覽聯系人(L)"、"查詢聯系人(C)"、"添加聯系人(T)"、\
- "修改聯系人(X)"、"刪除聯系人(S)"、"退出本程序(E)"?')
- if answer=='C':
- key=raw_input('請輸入想查詢的聯系人姓名:')
- MyNoteBook.inquiryInfo(key)
- elif answer=='T':
- key_name=raw_input('請輸入想添加的聯系人姓名:')
- key_phone=raw_input('請輸入該聯系人的電話號碼:')
- MyNoteBook.addInfo(key_name,key_phone)
- elif answer=='S':
- key=raw_input('請輸入想刪除的聯系人姓名:')
- MyNoteBook.delInfo(key)
- elif answer=='X':
- key=raw_input('請輸入想修改的聯系人姓名:')
- MyNoteBook.amendInfo(key)
- elif answer=='L':
- MyNoteBook.inquiryAll()
- elif answer=='E':
- flag=False
- else:
print "請確認你輸入的是字母'C','T','S','E',即希望進行操作:查詢、添加、刪除以及退出!" 以上文章就是對 Python小程序的創建命令行,地址簿 ,程序的相關介紹。
【編輯推薦】