Python写的电话薄部分源码

分类:Python | 作者:凹凸曼 | 发表于2011/05/24 Python写的电话薄部分源码已关闭评论

下面把之前用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分类下, 评论已关闭。

目前盖楼

抱歉,评论被关闭

« »