zoukankan      html  css  js  c++  java
  • python3-database-shelve

    #!/usr/bin/python
    
    import sys, shelve
    
    def store_person(db):
        """
    
        Query user for data and store it in the shelf object
        """
        pid = input('Enter unique ID number:')
        person = {}
        person['name'] = input('Enter name:')
        person['age'] = input('Enter age:')
        person['phone'] = input('Enter phone number:')
    
        db[pid] = person
    
    def lookup_person(db):
        """
        
        Query user for ID and desired field, and fetch the corresponding data
        from the shelf object
        """
        pid = input('Enter unique ID number:')
        temp = db[pid]
        field = input('Please enter name, age or phone:')
        field.strip().lower()
        print(field.capitalize() + ': ', temp[field])
    
    def print_help():
        print('The avaliable commands are:')
        print('store    :Stores infomation about a person')
        print('lookup   :Looks up a person form ID number')
        print('quit     :Save changes and exit')
        print('?        :Prints this message')
    
    def enter_command():
        cmd = input('Enter command(? for help):')
        cmd = cmd.strip().lower()
        return cmd
    
    def main():
        database = shelve.open('database')  # database stores in current directory
        try:
            while True:
                cmd = enter_command()
                if cmd == 'store':
                    store_person(database)
                elif cmd == 'lookup':
                    lookup_person(database)
                elif cmd == '?':
                    print_help()
                elif cmd == 'quit':
                    return
    
        finally:
            database.close()    # Close database in any condition
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    java利用透明的图片轮廓抠图
    java单例之enum实现方式
    spring之ControllerAdvice注解
    memcached命令
    2016年开源巨献:来自百度的71款开源项目
    dubbo通信协议之对比
    Elasticsearch权威指南(中文版)
    Apache shiro之权限校验流程
    简单的freemarker解析测试
    Apache shiro之身份验证(登陆)流程
  • 原文地址:https://www.cnblogs.com/cm20121009/p/3468044.html
Copyright © 2011-2022 走看看