用Python小程序建立命令行的實(shí)際應(yīng)用方案
如果你對(duì)Python小程序的實(shí)際操作步驟有不解的地方,你可以通過(guò)以下的文章Python小程序有一個(gè)詳細(xì)的了解,本文涉及到的有用它創(chuàng)建自己的命令行 地址簿 程序,以及修改、刪除和搜索你的聯(lián)系人以及它們的信息。
因?yàn)橐鲭娮雍D顯示方面的東西,在相關(guān)的論壇上面看到有些大牛說(shuō)GDAL和PIL結(jié)合可以比較方便的繪制矢量圖形。顧名思義,PIL(Python Imaging Library)是建立在Python的基礎(chǔ)上的,所以從前天開(kāi)始下載了Python2.6,看了Python簡(jiǎn)明手冊(cè),在這個(gè)手冊(cè)的最后,作者建議初學(xué)者做這樣一個(gè)程序,
即實(shí)現(xiàn):創(chuàng)建你自己的命令行 地址簿 程序。在這個(gè)程序中,你可以添加、修改、刪除和搜索你的聯(lián)系人以及它們的信息。這些詳細(xì)信息應(yīng)該被保存下來(lái)以便以后提取。
經(jīng)過(guò)幾小時(shí)的折騰, Python小程序代碼如下:(順便說(shuō)下,Python真的比較好上手,比起當(dāng)初學(xué)VC/MFC可是輕松多了,當(dāng)然也或許有部分原因是已經(jīng)經(jīng)歷過(guò)了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 "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- 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 "數(shù)據(jù)庫(kù)中已經(jīng)有該聯(lián)系人的信息,請(qǐng)確認(rèn)輸入無(wú)誤!"
- break
- else:
- notebook.dictnote.__setitem__(name,phone_number)
- def inquiryInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- break
- else:
- print "你查詢的聯(lián)系人姓名是:'%s',電話號(hào)碼是:'%s'" %\
- (name,notebook.dictnote.__getitem__(name))
- def inquiryAll(self):
- print "所有聯(lián)系人的信息如下所示:\n%s"%notebook.dictnote
- def amendInfo(self,name):
- addr=raw_input("請(qǐng)確定修改后的地址是:")
- notebook.dictnote[name]=addr
- print "現(xiàn)在該聯(lián)系人的信息為:",name,notebook.dictnote[name]
- flag=True
- MyNoteBook=notebook()
- while flag==True:
- answer=raw_input('請(qǐng)確認(rèn)你想"瀏覽聯(lián)系人(L)"、"查詢聯(lián)系人(C)"、"添加聯(lián)系人(T)"、\
- "修改聯(lián)系人(X)"、"刪除聯(lián)系人(S)"、"退出本程序(E)"?')
- if answer=='C':
- key=raw_input('請(qǐng)輸入想查詢的聯(lián)系人姓名:')
- MyNoteBook.inquiryInfo(key)
- elif answer=='T':
- key_name=raw_input('請(qǐng)輸入想添加的聯(lián)系人姓名:')
- key_phone=raw_input('請(qǐng)輸入該聯(lián)系人的電話號(hào)碼:')
- MyNoteBook.addInfo(key_name,key_phone)
- elif answer=='S':
- key=raw_input('請(qǐng)輸入想刪除的聯(lián)系人姓名:')
- MyNoteBook.delInfo(key)
- elif answer=='X':
- key=raw_input('請(qǐng)輸入想修改的聯(lián)系人姓名:')
- MyNoteBook.amendInfo(key)
- elif answer=='L':
- MyNoteBook.inquiryAll()
- elif answer=='E':
- flag=False
- else:
- print "請(qǐng)確認(rèn)你輸入的是字母'C','T','S','E',即希望進(jìn)行操作:查詢、添加、刪除\
- 以及退出!"
- #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 "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- 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 "數(shù)據(jù)庫(kù)中已經(jīng)有該聯(lián)系人的信息,請(qǐng)確認(rèn)輸入無(wú)誤!"
- break
- else:
- notebook.dictnote.__setitem__(name,phone_number)
- def inquiryInfo(self,name):
- while notebook.dictnote.__contains__(name)==False:
- print "數(shù)據(jù)庫(kù)中沒(méi)有該聯(lián)系人的信息,請(qǐng)檢查輸入是否有誤!"
- break
- else:
- print "你查詢的聯(lián)系人姓名是:'%s',電話號(hào)碼是:'%s'" %\
- (name,notebook.dictnote.__getitem__(name))
- def inquiryAll(self):
- print "所有聯(lián)系人的信息如下所示:\n%s"%notebook.dictnote
- def amendInfo(self,name):
- addr=raw_input("請(qǐng)確定修改后的地址是:")
- notebook.dictnote[name]=addr
- print "現(xiàn)在該聯(lián)系人的信息為:",name,notebook.dictnote[name]
- flag=True
- MyNoteBook=notebook()
- while flag==True:
- answer=raw_input('請(qǐng)確認(rèn)你想"瀏覽聯(lián)系人(L)"、"查詢聯(lián)系人(C)"、"添加聯(lián)系人(T)"、\
- "修改聯(lián)系人(X)"、"刪除聯(lián)系人(S)"、"退出本程序(E)"?')
- if answer=='C':
- key=raw_input('請(qǐng)輸入想查詢的聯(lián)系人姓名:')
- MyNoteBook.inquiryInfo(key)
- elif answer=='T':
- key_name=raw_input('請(qǐng)輸入想添加的聯(lián)系人姓名:')
- key_phone=raw_input('請(qǐng)輸入該聯(lián)系人的電話號(hào)碼:')
- MyNoteBook.addInfo(key_name,key_phone)
- elif answer=='S':
- key=raw_input('請(qǐng)輸入想刪除的聯(lián)系人姓名:')
- MyNoteBook.delInfo(key)
- elif answer=='X':
- key=raw_input('請(qǐng)輸入想修改的聯(lián)系人姓名:')
- MyNoteBook.amendInfo(key)
- elif answer=='L':
- MyNoteBook.inquiryAll()
- elif answer=='E':
- flag=False
- else:
print "請(qǐng)確認(rèn)你輸入的是字母'C','T','S','E',即希望進(jìn)行操作:查詢、添加、刪除以及退出!" 以上文章就是對(duì) Python小程序的創(chuàng)建命令行,地址簿 ,程序的相關(guān)介紹。
【編輯推薦】