fortwo

shelve模块的详细信息见Python库参考:http://docs.python.org/3/library/shelve.html

直接看代码:

 1 # database.py
 2 import sys, shelve
 3 
 4 def store_person(db):
 5     \'\'\'
 6     Query user for data and store it in the shelf object
 7     \'\'\'
 8     pid = input(\'Enter unique ID number:\')
 9     person = {}
10     person[\'name\'] = input(\'Enter name:\')
11     person[\'age\'] = input(\'Enter age:\')
12     person[\'phone\'] = input(\'Enter phone:\')
13 
14     db[pid] = person
15 
16 def lookup_person(db):
17     \'\'\'
18     Query user for ID and desired field, and fetch the corresponding data from the shelf obejct
19     \'\'\'
20     pid= input(\'Enter ID number:\')
21     field = input(\'What would you like to know?(choice option: name,age,phone):\')
22     field = field.strip().lower()
23     print(field.capitalize()+\':\', db[pid][field])
24 
25 def print_help():
26     print(\'The available commands are:\')
27     print(\'store   :   Stores information about a person\')
28     print(\'lookup  :   Looks up a person from ID number\')
29     print(\'quit    :   Save changes are exit\')
30     print(\'?       :   Prints this message\')
31 
32 def enter_command():
33     cmd = input(\'Enter command(? for help):\')
34     cmd = cmd.strip().lower()
35     return cmd
36 
37 def main():
38     database = shelve.open(\'D:\\database.dat\')
39     try:
40         while True:
41             cmd = enter_command()
42             if cmd == \'store\':
43                 store_person(database)
44             elif cmd == \'lookup\':
45                 lookup_person(database)
46             elif cmd ==\'?\':
47                 print_help()
48             elif cmd == \'quit\':
49                 return
50     finally:
51         database.close()
52 
53 if __name__ == \'__main__\':
54     main()

简单交互过程:

在硬盘上产生的文件:

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-10-07
  • 2022-01-02
  • 2021-08-04
  • 2022-01-17
  • 2021-12-11
猜你喜欢
  • 2021-12-09
  • 2022-12-23
  • 2021-07-29
  • 2022-01-01
  • 2021-09-29
  • 2021-12-30
相关资源
相似解决方案