Python地址簿

  1 #!/usr/bin/python
  2 #coding=UTF-8
  3 # FileName:address.py
  4 # Python地址簿
  5 import cPickle as p;
  6 import os;
  7 import sys;
  8 class Address:
  9     '''Python地址簿'''
 10     # 构造函数
 11     def __init__(self):
 12         self.dataFileName = 'address.data';
 13         self.dataPath = os.getcwd() + os.sep;
 14         handle = file(self.dataPath + self.dataFileName, 'w');
 15         try:
 16             self.peopleList = p.load(handle);
 17         except:
 18             print '%s is empty.initializing...'%(self.dataFileName);
 19             self.peopleList = {};
 20             handle.close();
 21     ###
 22     # 添加一个地址簿
 23     # @access    public
 24     # @author   zhaoyingnan 2016-03-01 10:10:46
 25     # @param    string  username    人名
 26     # @param    string  marks       备注
 27     # @param    string  mobile      手机号码
 28     # @param    string  email       邮箱
 29     # @return   mix
 30     # @note
 31     ###
 32     def addPeople(self, username, marks, mobile, email):
 33         '''添加一个地址簿'''
 34         if self.peopleList.get(username, 404) == 404:
 35             newPeople = {'username':username, 'marks':marks, 'mobile':mobile, 'email':email};
 36             self.peopleList[username] = newPeople;
 37         else:
 38             'already exist.';
 39 
 40     ###
 41     # 删除一个地址簿
 42     # @access    public
 43     # @author    zhaoyingnan 2016-03-01 10:16
 44     # @param    string  username    人名
 45     # @return    mix
 46     # @note    
 47     ###
 48     def delPeople(self, username):
 49         if self.peopleList.get(username, 404) == 404:
 50             print '%s non-existent.'%(username);
 51         else:
 52             del self.peopleList[username];
 53             print 'ok.';
 54 
 55     ###
 56     # 修改一个地址簿
 57     # @access    public
 58     # @author    zhaoyingnan 2016-03-01 10:18
 59     # @param    string  username    人名
 60     # @param    string  index       索引(username/marks/mobile/email)
 61     # @param    string  value       索引对应的值
 62     # @return    mix
 63     # @note    
 64     ###
 65     def updatePeople(self, username, index, value):
 66         if self.peopleList.get(username, 404) == 404:
 67             print '%s non-existent.'%(username);
 68             #sys.exit('%s non-existent!'%(username));
 69         else:
 70             self.peopleList[username][index] = value;
 71 
 72     ###
 73     # 获取列表
 74     # @access    public
 75     # @author    zhaoyingnan 2016-03-01 10:21
 76     # @return    string
 77     # @note    
 78     ###
 79     def getPeople(self):
 80         if len(self.peopleList) > 0:
 81             for username,arList in self.peopleList.items():
 82                 print '-------------------------------';
 83                 print '\t%s\t'%(username);
 84                 for key,value in arList.items():
 85                     print '%s\t%s'%(key, value);
 86                 print '-------------------------------';
 87         else:
 88             print '%s is empty.'%(self.dataFileName);
 89 
 90     # 将地址播存储在文件中
 91     def __del__(self):
 92         handle = file(self.dataPath + self.dataFileName, 'w');
 93         p.dump(self.peopleList, handle);
 94         handle.close();
 95 
 96 
 97 address = Address();
 98 address.addPeople('lee', 'LiHongBin', 18911937250, '791520450@qq.com');
 99 address.addPeople('zhaoyn', 'ZhaoYingNan', 15932279586, '409586363@qq.com');
100 address.addPeople('Mr.Zhu', 'ZhuXiaoHuan', 13303028786, '12802390939@qq.com');
101 address.delPeople('Mr.Zhu');
102 address.updatePeople('Liu', 'marks', 'LiuQing');
103 address.updatePeople('zhaoyn', 'marks', 'Mr.Zhao');
104 address.getPeople();

 

posted @ 2016-03-01 15:53  zhaoyingnan911  阅读(644)  评论(1编辑  收藏  举报