Python - 如何按顺序显示搁置中的所有数据

时间:2015-10-17 16:57:21

标签: python shelve

这是我第一次发布堆栈溢出。也许我可以得到我需要的解决方案。

busdata=shelve.open("Database")
for lctno in busdata.keys():
    outputLine( lctno , busdata[ lctno ])

它随机显示我的.dat文件中的数据。我希望它以升序显示。

2 个答案:

答案 0 :(得分:4)

正如g.d.d.c建议的那样,解决方案是为自己排序密钥。

busdata=shelve.open("Database")
keys = list(bustdata.keys())
keys.sort()
for lctno in keys():
    outputLine( lctno , busdata[ lctno ])

答案 1 :(得分:0)

由于上面的代码对我不起作用-我进行了一些测试,并考虑发布我的最终工作结果(完整)-按顺序解决所有数据的列表:

#!/usr/bin/python
# 

import shelve

def main():
    db = shelve.open("database.db")
    dkeys = list(db.keys())
    dkeys.sort()
    for x in dkeys:
        print ( x , db[ x ])
    db.close()
    return

if __name__ == "__main__":
    main()