瞭看Python程序说明介绍
创始人
2024-06-23 07:01:32
0

Python免费开源,可移植到多种操作系统,只要避免使用依赖于特定操作系统的特性,Python程序无需修改就可以在各种平台上面运行,掌握了Python程序这们语言会使我们的编程工作更简单和更轻松。

顾名思义,PIL(Python Imaging Library)是建立在Python的基础上的,所以从前天开始下载了Python2.6,看了Python简明手册,在这个手册的最后,作者建议初学者做这样一个程序,即实现:创建你自己的命令行 地址簿程序。

在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。用Python程序

经过几小时的折腾,程序代码如下:(顺便说下,Python真的比较好上手,比起当初学VC/MFC可是轻松多了,当然也或许有部分原因是已经经历过了c++)

  1. #MyFirstIntegratedPythonProgram     
  2. import cPickle as P     
  3.     
  4. class notebook:     
  5.     dictnote={}     
  6.     def __init__(self):     
  7.         notebook.dictnote={'Randy':'12347865',     
  8.                            'Jackson':'67549087',     
  9.                            'Mary':'56432876'}     
  10.         f=file('storeFile.txt','a')     
  11.         P.dump(notebook.dictnote,f)     
  12.         f.close()     
  13.     def __del__(self):     
  14.         f=file('storeFile.txt','a')     
  15.         P.dump(notebook.dictnote,f)     
  16.         f.close()     
  17.         notebook.dictnote={}     
  18.              
  19.     def delInfo(self,name):     
  20.         while notebook.dictnote.__contains__(name)==False:     
  21.             print "数据库中没有该联系人的信息,请检查输入是否有误!"    
  22.             break    
  23.         else:     
  24.             del notebook.dictnote[name]       
  25.             #dictnote.__delitem__(name)     
  26.             f=file('storeFile.txt','w')         
  27.             P.dump(notebook.dictnote,f)         
  28.             f.close()                           
  29.     def addInfo(self,name,phone_number):        
  30.         while notebook.dictnote.__contains__(name)==True:     
  31.             print "数据库中已经有该联系人的信息,请确认输入无误!"    
  32.             break    
  33.         else:     
  34.             notebook.dictnote.__setitem__(name,phone_number)     
  35.     def inquiryInfo(self,name):     
  36.         while notebook.dictnote.__contains__(name)==False:     
  37.             print "数据库中没有该联系人的信息,请检查输入是否有误!"    
  38.             break    
  39.         else:     
  40.             print "你查询的联系人姓名是:'%s',电话号码是:'%s'" %\     
  41.               (name,notebook.dictnote.__getitem__(name))     
  42.     def inquiryAll(self):     
  43.         print "所有联系人的信息如下所示:\n%s"%notebook.dictnote     
  44.     def amendInfo(self,name):     
  45.         addr=raw_input("请确定修改后的地址是:")     
  46.         notebook.dictnote[name]=addr         
  47.         print "现在该联系人的信息为:",name,notebook.dictnote[name]     
  48.                  
  49.     
  50.     
  51. flag=True    
  52. MyNoteBook=notebook()     
  53. while flag==True:         
  54.     answer=raw_input('请确认你想"浏览联系人(L)"、"查询联系人(C)"、"添加联系人(T)"、\     
  55. "修改联系人(X)"、"删除联系人(S)"、"退出本程序(E)"?')     
  56.          
  57.     if answer=='C':     
  58.         key=raw_input('请输入想查询的联系人姓名:')     
  59.         MyNoteBook.inquiryInfo(key)     
  60.              
  61.     elif answer=='T':     
  62.         key_name=raw_input('请输入想添加的联系人姓名:')     
  63.         key_phone=raw_input('请输入该联系人的电话号码:')     
  64.         MyNoteBook.addInfo(key_name,key_phone)     
  65.              
  66.     elif answer=='S':     
  67.         key=raw_input('请输入想删除的联系人姓名:')     
  68.         MyNoteBook.delInfo(key)     
  69.              
  70.     elif answer=='X':     
  71.         key=raw_input('请输入想修改的联系人姓名:')     
  72.         MyNoteBook.amendInfo(key)     
  73.     
  74.     elif answer=='L':     
  75.         MyNoteBook.inquiryAll()     
  76.              
  77.     elif answer=='E':     
  78.         flag=False    
  79.     else:     
  80.         print "请确认你输入的是字母'C','T','S','E',即希望进行操作:查询、添加、删除\     
  81.                 以及退出!" 

【编辑推荐】

  1. 有关Python系统文件进行介绍指导
  2. 如何正确的使用Python函数
  3. 对Python 构建工具进行详细介绍分析
  4. PythonAndroid浅析Python优势所在
  5. 如何使用Python模块解析配置文件?

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...