shelve是一个对象持久化保存方法,将对象保存到文件里面,一般来说对象的保存和恢复都是通过shelve来进行的。
你的问题是test.txt已经存在,并且格式与shelve不符,所以提示 "db type could not be determined"
解决方法: 删除/home/luo/python/test.txt文件,首次运行后会自动生成该文件。
另外,缺省方式数据文件是二进制的,最好不要用txt结尾来误导别人。
下面是运行结果
[zx@zx-linux test]$ ./test.py
Ener command (? for help): store
Enter unique ID number: 1
Enter name: 2
Enter age: 3
Enter phone number: 4
Ener command (? for help): quit
test.txt 需要是一个 persistent dictionary。我也不太懂,但是能不能看一下你的test.txt?