zoukankan      html  css  js  c++  java
  • python 教程 第十四章、 地址薄作业

    第十四章、 地址薄作业

    #A Byte of Python
    #!/usr/bin/env python
    import cPickle
    import os 
    #define the contacts file, list
    global file_contacts
    global list_contacts
    file_contacts = 'AddressBook.txt'
    list_contacts = [] 
    #delete the file
    try:
        file_path = os.getcwd() + os.sep + file_contacts
        if os.path.isfile(file_path):
            os.remove(file_contacts)
            f = file(file_contacts,'w')
            f.close() 
         #define the class of contacts and implement the methods
        class class_contacts:
            def __init__(self, list_contacts):
                self.contacts = list_contacts
            def append(self, name, mail):
                dict_contacts = {'Name': name, 'Mail': mail}
                self.contacts.append(dict_contacts)
            def find(self, name):
                found = False
                for instance_contacts in list_contacts:
                    if name == instance_contacts['Name']:
                        found = True
                        print " Found:", name, ", PASS"
                        break
                if not found:
                    print " Found:", name, ", FAIL" 
            def modify(self, name, mail):
                for instance_contacts in list_contacts:
                    if name == instance_contacts['Name']:
                        instance_contacts['Mail'] = mail
                        break
            def delete(self, name):
                index = -1
                for instance_contacts in list_contacts:
                    index += 1
                    if name == instance_contacts['Name']:
                        del list_contacts[index]
            def show(self):
                for list in list_contacts:
                    print list
            def save(self):
                fa = file(file_contacts, "a")
                cPickle.dump(self.contacts, fa)
                fa.close() 
        i = class_contacts(list_contacts)
        i.append('joan', 'joan@123.com')
        i.append('adny', 'adny@123.com')
        i.append('xixi', 'xixi@123.com')
        i.find('joan')
        i.find('joab')
        print "Original List:"
        i.show()
        print "after modify adny"
        i.modify('adny', 'adnX@123.com')
        i.show()
        print "after del joan"
        i.delete('joan')
        i.show()
        i.save() 
    except TypeError:
        print "TypeError"
    except:
    print "Other Error occured" 
    

      

  • 相关阅读:
    Python:文件操作技巧(File operation)
    使用多域名实现并行下载
    win7 + cygwin + nodejs很详细的安装步骤【推荐】
    gzip压缩
    C#中一些常用的方法使用
    C#中的@符号的使用
    Sql中partition by的使用
    C#中使用WCF一些常见问题及解决方案
    C# MVC中直接执行Js
    MVC路由规则进一步了解
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468814.html
Copyright © 2011-2022 走看看