Python写的电话薄部分源码

分类:Python | 作者:凹凸曼 | 发表于2011/05/24

下面把之前用python写的C/S模式的电话薄程序 USER类,把它晒出来!

其中导入了操作文件类–Bfile

可以看之前的晒过的,源码: http://www.apoyl.com/?p=224

User.py 类源码如下:

#coding=gbk
#author	:  lyc
#email	:  jar-c@163.com
#time	:  2010-9-30
try :
    from Bfile import Bfile 
except:
    print('相关模块未引入!')

class User:
    
    bfile='' #文件类

    def __init__(self):
        User.bfile=Bfile()

     
# 添加新联系人
# @param arr dict 
# return bool
    def add(self,arr):
        lastarr=self.getAll()
        if lastarr==False or len(lastarr)==0:
	    lastarr=arr
	   
	else :
	    lastarr.update(arr)
        
	re=User.bfile.writeToFile(lastarr)
	if True==re:
	    print('联系人添加成功!')
	return re

	
# 删除联系人
# @param name string
# return bool
    def delelte(self,name):
        lastarr=self.getAll()

	if False==lastarr or len(lastarr)==0 :
	    return False
        
	ename=self.find(lastarr,name)
        if len(ename)==0:
	    return False
	else :
	    for i in ename :
	        del lastarr[i]
		print('联系人'+name+',删除成功!')
	    self.updateFile(lastarr)
	    return True


# 编辑联系人
# @param arr dict
# @param name string
# return bool
    def edit(self,arr,name):
        lastarr=self.getAll()
	if  False==lastarr or len(lastarr)==0 :
	    return False
	ename=self.find(lastarr,name)

	if len(ename)==0:
	    return False
	else :
	    for i in ename :
	        for k,v in arr.items():
	            lastarr[i][k]=v 
            self.updateFile(lastarr)
            print('联系人'+name+',更新成功!')
            return False

# 获取全部的联系人
# return dict
    def getAll(self):   
        re=User.bfile.getData()
	return re


# 更新文件
# @param arr dict
# return bool
    def updateFile(self,arr):
        return User.bfile.writeToFile(arr)

# 查找存在的联系人
# @param arr dict 
# @param name string
# return string
    def find(self,arr,name):
        ename=[] #存在的用户列表
	for k,v in arr.items():
	    for kk,vv in v.items():
		if name==vv:
		    ename.append(k)
		    break
        if len(ename)==0:
	    print('该联系人不存在!')
        return ename
   

###############################################
#测试区域

#user=User()
#data={ 
#       1
#       :{
#       'username'	:	'lyc',
#       'relationship'	:	'myself',
#       'telephone'	:	'111111111',
#       'email'		:	'jar-c@163.com',
#       'addtime'	:	'2010-9-30'
#         }
#     }


#添加
#user.add(data)



#删除
#user.delelte('lyc')


#data={
#       'username'	:	'zdc'
      
#     }

#编辑
#user.edit(data,'lyc')

#展示
#t=user.getAll()
#print(t)
#############################################

本文出自 “凹凸曼” 博客,请务必保留此出处 http://www.apoyl.com/?p=779

Tag:

日志信息 »

该日志于2011-05-24 14:15由 凹凸曼 发表在Python分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

目前盖楼 (0)层:

发表评论 »

« »