[python]小练习__创建你自己的命令行 地址簿 程序

创建你自己的命令行 地址簿 程序。

在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。

这些详细信息应该被保存下来以便以后提取。

python version 3.4.3

 1 #创建你自己的命令行 地址簿 程序。在这个程序中,
 2 #你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)
 3 #以及它们的信息(诸如电子邮件地址和/或电话号码)。
 4 #这些详细信息应该被保存下来以便以后提取。
 5 # python version 3.4.3
 6 import pickle as p
 7 import sys
 8 import os
 9
10 filename = ‘phonebook.data‘
11
12 #创建一个类表示人的信息
13 class member:
14     def __init__(self,name,mail,phone):
15         self.name = name
16         self.mail = mail
17         self.phone = phone
18
19 #从文件中取出对象并返回
20 def readbypickle(filename):
21     f = open(filename,‘rb‘)
22     infos = p.load(f)
23     f.close()
24     return infos
25
26 #将对象写入文件中
27 def writebypickle(infos,filename):
28     f = open(filename,‘wb‘)
29     p.dump(infos,f)
30     f.close()
31
32 def scanall():
33     infos = readbypickle(filename)
34     for name,info in infos.items():
35         print(name,‘\t‘,info)
36     del infos
37     #infos在这里是对象,用完记得清掉
38
39 #key in someone,receive the info
40 def search():
41     infos = readbypickle(filename)
42     person = input(‘Please enter the name you are search:‘)
43     if person in infos:
44         print(‘Result:‘,infos[person])
45     else:
46         print(‘No data!‘)
47     del infos
48
49 def update():
50     info = input(‘Please enter your updating info like:someone,[email protected],123: \n‘)
51     info_1 = info.split(‘,‘)
52     temp = member(info_1[0],info_1[1],info_1[2])
53     infos = readbypickle(filename)
54     infos[temp.name] = temp.mail + ‘,‘ + temp.phone
55     writebypickle(infos,filename)
56     del infos
57
58 def delete():
59     infos = readbypickle(filename)
60     info = input(‘Please enter the name that you want to delete: ‘)
61     try:
62         del infos[info]
63     except:
64         print(‘delete failed,please check your input.‘)
65     finally:
66         print(infos)
67         writebypickle(infos,filename)
68         del infos
69
70 def main():
71     while True:
72         command = input(‘\n==========Menu==========\n1 scan\n2 search\n3 update\n4 delete\n5 exit\n‘)
73         if command == ‘1‘:
74             scanall()
75         elif command == ‘2‘:
76             search()
77         elif command == ‘3‘:
78             update()
79         elif command == ‘4‘:
80             delete()
81         else:
82             sys.exit()
83 print(‘VersionInfo:‘,sys.version)
84 if(os.path.exists(filename)):
85     main()
86 else:
87     infos = {‘Rebecah‘:‘[email protected],12345‘}
88     writebypickle(infos,filename)
89     main()
时间: 2024-08-24 18:58:32

[python]小练习__创建你自己的命令行 地址簿 程序的相关文章

ubuntu下python脚本调用有道词典API实现命令行查词

#!/usr/bin/env python #coding=utf-8 '''   python使用有道词典的API来实现命令行查词 ''' import urllib2 import json import sys  reload(sys) sys.setdefaultencoding('utf-8') key = '1096888977' keyfrom = 'bloketest' doctype = 'json' u = 'http://fanyi.youdao.com/openapi.d

MySQL 创建数据表的命令行

MySQL中要先创建数据库,让后创建数据表,创建数据表要先设计好数据表的字段,是数字类型,文本类型,是浮点类型,是字符串类型,日期类型等. 1,创建数据表命令行 CREATE TABLE table_name 2,创建数据表的结构体 CREATE TABLE dc3688 ( id INT(11) NOT NULL AUTO_INCREMENT,subject VARCHAR(45) DEFAULT NULL,start_date DATE DEFAULT NULL,end_date DATE

python小脚本批量创建用户和ssh互信

#!/usr/bin/python from fabric.api import * for i in range(24,34): host = '[email protected]' + str(i) env.hosts.append(host) env.password = '111111' def addusers(): sudo('useradd -d /home/ctier -s /bin/bash ctier;echo ctier:"123456" | chpasswd')

OpenCV2+入门系列(二):图像的打开、创建与显示(命令行)

前置知识:数字图像的简略知识 这里只是最基础的知识,上课如果稍微听了课的同学可以直接略过不不看. 彩色图像: 对于一副数字图像,对于一副RGB色彩空间的彩色数字图像,它一共有宽X高个像素格子,每个格子的色彩由蓝色.绿色.红色三个原色合成,很简单吧,三原色的合成大家小学就学过喽.计算机中B.G.R三个值可以从0至255选择,不同的值的组合就可以合成出不同的色彩,一般来说总共可以组成255*255*255种色彩. 灰度图像: 而若是图像中所有像素都是由黑到白(0到255)的亮度表示,那么这幅图像将是

Vue Create 创建一个新项目 命令行创建和视图创建

开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0.0-rc.11 >>:vue create yanxiatingyu :xxxxx一段英文 >>:y >>:cd yanxiatingyu >>:npm run serve 浏览器输入:http://localhost:8080/ 假如浏览器能够打开,没有出现页面 可能你的端口被占用了. C:\Users\ruby&g

python 地址簿

创建你自己的命令行 地址簿 程序.在这个程序中,你可以添加.修改.删除和搜索你的联系人(朋友.家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码) #!/usr/bin/python # Filename : var.py import cPickle as p import os import sys filename = 'contacts.data' class member: def __init__(self, name, address, tel): self.name

Python命令行解析库argparse

python标准库推荐使用argparse模块对命令行进行解析. 创建解析器 import argparse parser = argparse.ArgumentParser() 创建一个ArgumentParser实例对象,ArgumentParser对象的参数都为关键字参数. class ArgumentParser (prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argpa

python命令行解释器 argparse

一: argparse介绍 1.  argparse argparse,它是Python标准库中推荐使用的编写命令行程序的工具 parser = argparse.ArgumentParser()  创建一个实例,#parser.parse_args()    parse_args方法是从命令行的参数中返回了一些默认或指定的参数信息.#print dir(parser)parser.add_argument('square',help=' **2 ',type = int)  添加一个posit

Python命令行解析库argparse(转)

原文:http://www.cnblogs.com/linxiyue/p/3908623.html 2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试题:编写一个脚本main.py,使用方式如下: main.py -u http://www.sohu.com -d 'a=1,b=2,c=3' -o /tmp/index.html 功能要求:打开-u指定的页面,将页面中所有的链接后面增加参数a=