用Python小程序建立命令行的实际应用方案

开发 后端
本文主要介绍的是运用Python小程序来创建、自己的命令行 、地址簿、 程序、还有修改、删除信息等实际操作步骤的介绍。

 如果你对Python小程序的实际操作步骤有不解的地方,你可以通过以下的文章Python小程序有一个详细的了解,本文涉及到的有用它创建自己的命令行 地址簿 程序,以及修改、删除和搜索你的联系人以及它们的信息。

因为要做电子海图显示方面的东西,在相关的论坛上面看到有些大牛说GDAL和PIL结合可以比较方便的绘制矢量图形。顾名思义,PIL(Python Imaging Library)是建立在Python的基础上的,所以从前天开始下载了Python2.6,看了Python简明手册,在这个手册的最后,作者建议初学者做这样一个程序,

即实现:创建你自己的命令行 地址簿 程序。在这个程序中,你可以添加、修改、删除和搜索你的联系人以及它们的信息。这些详细信息应该被保存下来以便以后提取。

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

 

  1. view plaincopy to clipboardprint?  
  2. #MyFirstIntegratedPythonProgram   
  3. import cPickle as P   
  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. def delInfo(self,name):   
  19. while notebook.dictnote.__contains__(name)==False:   
  20. print "数据库中没有该联系人的信息,请检查输入是否有误!"   
  21. break   
  22. else:   
  23. del notebook.dictnote[name]   
  24. #dictnote.__delitem__(name)   
  25. f=file('storeFile.txt','w')   
  26. P.dump(notebook.dictnote,f)   
  27. f.close()   
  28. def addInfo(self,name,phone_number):   
  29. while notebook.dictnote.__contains__(name)==True:   
  30. print "数据库中已经有该联系人的信息,请确认输入无误!"   
  31. break   
  32. else:   
  33. notebook.dictnote.__setitem__(name,phone_number)   
  34. def inquiryInfo(self,name):   
  35. while notebook.dictnote.__contains__(name)==False:   
  36. print "数据库中没有该联系人的信息,请检查输入是否有误!"   
  37. break   
  38. else:   
  39. print "你查询的联系人姓名是:'%s',电话号码是:'%s'" %\   
  40. (name,notebook.dictnote.__getitem__(name))   
  41. def inquiryAll(self):   
  42. print "所有联系人的信息如下所示:\n%s"%notebook.dictnote   
  43. def amendInfo(self,name):   
  44. addr=raw_input("请确定修改后的地址是:")   
  45. notebook.dictnote[name]=addr   
  46. print "现在该联系人的信息为:",name,notebook.dictnote[name]   
  47. flag=True   
  48. MyNoteBook=notebook()   
  49. while flag==True:   
  50. answer=raw_input('请确认你想"浏览联系人(L)"、"查询联系人(C)"、"添加联系人(T)"、\   
  51. "修改联系人(X)"、"删除联系人(S)"、"退出本程序(E)"?')   
  52. if answer=='C':   
  53. key=raw_input('请输入想查询的联系人姓名:')   
  54. MyNoteBook.inquiryInfo(key)   
  55. elif answer=='T':   
  56. key_name=raw_input('请输入想添加的联系人姓名:')   
  57. key_phone=raw_input('请输入该联系人的电话号码:')   
  58. MyNoteBook.addInfo(key_name,key_phone)   
  59. elif answer=='S':   
  60. key=raw_input('请输入想删除的联系人姓名:')   
  61. MyNoteBook.delInfo(key)   
  62. elif answer=='X':   
  63. key=raw_input('请输入想修改的联系人姓名:')   
  64. MyNoteBook.amendInfo(key)   
  65. elif answer=='L':   
  66. MyNoteBook.inquiryAll()   
  67. elif answer=='E':   
  68. flag=False   
  69. else:   
  70. print "请确认你输入的是字母'C','T','S','E',即希望进行操作:查询、添加、删除\   
  71. 以及退出!"   
  72. #MyFirstIntegratedPythonProgram  
  73. import cPickle as P  
  74. class notebook:  
  75. dictnote={}  
  76. def __init__(self):  
  77. notebook.dictnote={'Randy':'12347865',  
  78. 'Jackson':'67549087',  
  79. 'Mary':'56432876'}  
  80. f=file('storeFile.txt','a')  
  81. P.dump(notebook.dictnote,f)  
  82. f.close()  
  83. def __del__(self):  
  84. f=file('storeFile.txt','a')  
  85. P.dump(notebook.dictnote,f)  
  86. f.close()  
  87. notebook.dictnote={}  
  88. def delInfo(self,name):  
  89. while notebook.dictnote.__contains__(name)==False:  
  90. print "数据库中没有该联系人的信息,请检查输入是否有误!"  
  91. break  
  92. else:  
  93. del notebook.dictnote[name]   
  94. #dictnote.__delitem__(name)  
  95. f=file('storeFile.txt','w')   
  96. P.dump(notebook.dictnote,f)   
  97. f.close()   
  98. def addInfo(self,name,phone_number):   
  99. while notebook.dictnote.__contains__(name)==True:  
  100. print "数据库中已经有该联系人的信息,请确认输入无误!"  
  101. break  
  102. else:  
  103. notebook.dictnote.__setitem__(name,phone_number)  
  104. def inquiryInfo(self,name):  
  105. while notebook.dictnote.__contains__(name)==False:  
  106. print "数据库中没有该联系人的信息,请检查输入是否有误!"  
  107. break  
  108. else:  
  109. print "你查询的联系人姓名是:'%s',电话号码是:'%s'" %\  
  110. (name,notebook.dictnote.__getitem__(name))  
  111. def inquiryAll(self):  
  112. print "所有联系人的信息如下所示:\n%s"%notebook.dictnote  
  113. def amendInfo(self,name):  
  114. addr=raw_input("请确定修改后的地址是:")  
  115. notebook.dictnote[name]=addr   
  116. print "现在该联系人的信息为:",name,notebook.dictnote[name]  
  117.  
  118.  
  119.  
  120. flag=True 
  121. MyNoteBook=notebook()  
  122. while flag==True:   
  123. answer=raw_input('请确认你想"浏览联系人(L)"、"查询联系人(C)"、"添加联系人(T)"、\  
  124. "修改联系人(X)"、"删除联系人(S)"、"退出本程序(E)"?')  
  125.  
  126. if answer=='C':  
  127. key=raw_input('请输入想查询的联系人姓名:')  
  128. MyNoteBook.inquiryInfo(key)  
  129.  
  130. elif answer=='T':  
  131. key_name=raw_input('请输入想添加的联系人姓名:')  
  132. key_phone=raw_input('请输入该联系人的电话号码:')  
  133. MyNoteBook.addInfo(key_name,key_phone)  
  134.  
  135. elif answer=='S':  
  136. key=raw_input('请输入想删除的联系人姓名:')  
  137. MyNoteBook.delInfo(key)  
  138.  
  139. elif answer=='X':  
  140. key=raw_input('请输入想修改的联系人姓名:')  
  141. MyNoteBook.amendInfo(key)  
  142.  
  143. elif answer=='L':  
  144. MyNoteBook.inquiryAll()  
  145.  
  146. elif answer=='E':  
  147. flag=False 
  148. else:  
  149.  

print "请确认你输入的是字母'C','T','S','E',即希望进行操作:查询、添加、删除以及退出!" 以上文章就是对 Python小程序的创建命令行,地址簿 ,程序的相关介绍。

【编辑推荐】

  1. Python程序员中常用的IDE开发工具的概述
  2. Python编程语言中调用Matlab绘制保存数据的方案
  3. Python编程语言解决几种常见的实际问题
  4. Python字典中执行的Python的方案详解
  5. 在Python字典中如何使用源文件的具体方案
责任编辑:佚名 来源: 卡饭论坛
相关推荐

2010-03-24 14:14:42

Python GUI

2016-03-28 10:00:09

Swift命令程序

2022-06-07 07:21:19

Python内置库命令行

2018-05-04 09:15:35

PythonPlumbum命令行

2010-03-16 18:19:41

Python函数

2010-07-20 14:18:22

Perl命令行

2010-07-15 09:37:47

Perl命令行

2022-06-12 15:32:27

bashLinux

2013-09-27 09:56:25

2022-09-23 09:50:45

Python

2010-07-26 09:32:41

Perl命令行

2010-07-20 14:02:38

Perl命令行参数

2010-07-15 11:08:23

Perl命令行

2010-03-10 17:23:37

Python 命令行参

2015-06-16 10:36:45

Linux命令行

2009-05-30 09:26:38

AndroidGoogle移动OS

2022-02-08 17:19:05

Linux命令grep

2019-12-09 09:23:04

Linux命令sort

2015-07-01 09:15:46

linuxQuora命令行

2022-02-08 13:24:49

LinuxLinux命令
点赞
收藏

51CTO技术栈公众号