蛋疼写的python 通讯录管理

我以后啊,再也不敢把文本界面的程序模仿成图形界面的了,因为需要处理的东西太多了 ,所以我以后写的程序,尽量把菜单写得简单一点,至于图形界面,就留给别人了

现在这个程序的菜单还是有bug  大家凑合着用吧 ,但是程序对于文件的读取和写入  是没有问题的

以下是两个程序,

名为 address_book.py

 1 #!/usr/bin/python3
 2 import os,sys
 3 os.chdir("./")       #把读取文件的目录设置在当前目录
 4 sys.path.append('./') #把读取模块的目录设置为当前目录
 5 import tcstory   #导入我的模块
 6 NUMBER=-4
 7 user_list=[]
 8 class People:
 9     count=0
10     def __init__(self,g_name='None',g_telephone='None',g_email='None'):
11         self.name=g_name
12         self.telephone=g_telephone
13         self.email=g_email
14         People.count+=1
15 def menu():
16     print("\t\t\t     欢迎来到通讯录")
17     print("\t\t\t   n:下一页   b:上一页")
18     print('\t\t\tc:修改   s:保存   q:退出')
19 def display(choice):
20     global NUMBER,user_list
21     os.system("clear")
22     flag=1
23     if choice=='n':
24         menu()
25         NUMBER+=4
26         for i in range(4):
27             try:
28                 print('\t\t\t'+str(NUMBER+i)+':'+user_list[NUMBER+i].name,user_list[NUMBER+i].telephone,user_list[NUMBER+i].email)
29                 flag=0
30             except IndexError:
31                 if flag:
32                     NUMBER-=4
33                     flag=1
34                 return
35     elif choice=='b':
36         menu() 
37         if People.count<=4:return
38         NUMBER-=4
39         if NUMBER<0:
40             NUMBER=-4
41             return
42         for i in range(4):
43             print('\t\t\t'+str(NUMBER+i)+':'+user_list[NUMBER+i].name,user_list[NUMBER+i].telephone,user_list[NUMBER+i].email)
44     elif choice=='q':
45                 exit()
46     elif choice=='c':
47         os.system('clear')
48         modify()
49     elif choice=='s':
50         with open('info.txt','w+') as data:
51             for each in user_list:
52                 data.write(each.name+' ')
53                 data.write(each.telephone+' ')
54                 data.write(each.email+'\n')   #由于write方法不会自动添加回车键,所以我自己添加
55         exit()        
56 
57     else:
58         print("\t\t\t未知的输入")
59 def load_info():
60     global user_list
61     try:
62         with open('info.txt','r+') as data:
63             for f in data:
64                 temp=People()
65                 temp.name,temp.telephone,temp.email=f.split(' ')
66                 temp.email=temp.email.replace('\n','')  #因为从文件读取的每一行的最后都有一个回车键,所以这里把他去掉:
67                 user_list.append(temp)
68     except IOError as ioerr:
69         print("File error:"+str(ioerr))
70         exit()
71 def modify():
72     os.system('clear')
73     global user_list
74     print("\t\t\t1.新增   2.修改   3.删除")
75     print("\t\t\tq:离开")
76     choice=input("\t\t\t请输入您的选择: ")
77     if choice=='1':
78         tcstory.add(user_list)
79     elif choice=='2':
80         tcstory.change(user_list)
81     elif choice=='3':
82         tcstory.delete(user_list)
83     else:
84         os.system('clear')
85 
86 def main():
87     global user_list
88     choice='n'
89     load_info()
90     while True:
91         display(choice)
92         choice=input('\n\t\t\t请输入你的选择')
93 if __name__=='__main__':main()

以下是需要到的模块  名字为 tcstory.py

 1 #!/usr/bin/python3
 2 import os,sys
 3 os.chdir("./")
 4 sys.path.append('./')
 5 from address_book import People
 6 def add(_list):
 7     temp=People()
 8     temp.name=input('\t\t\t请输入名字: ')
 9     temp.telephone=input('\t\t\t请输入手机号码: ')
10     temp.email=input('\t\t\t请输入电子邮件: ')
11     _list.append(temp)
12 def change(_list):
13     name=input('\t\t\t请输入姓名: ')
14     for each in _list:
15         if name==each.name:
16             flag=1
17         else:flag=0
18     if flag:
19         each.telephone=input('\t\t\t请输入新的手机号码: ')
20         each.email=input('\t\t\t请输入新的电子邮箱: ')
21         print('\t\t\tDone.')
22     else:print('\t\t\t找不到')
23 def delete(_list):
24     name=input('\t\t\t请输入姓名: ')
25     for each in _list:
26         if name==each.name:
27             flag=1
28             break
29         else:flag=0
30     if flag:
31         _list.remove(each)
32         print('\t\t\tDone.')
33     else:print("\t\t\t找不到")

 

posted @ 2013-10-06 17:18  花瓣奶牛  阅读(1226)  评论(0编辑  收藏  举报