如何按顺序显示所有数据?

问题描述 投票:2回答:2

这是我第一次在堆栈溢出中发帖。也许我可以获得所需的解决方案。

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

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

python shelve
2个回答
4
投票

按照g.d.d.c的建议,解决方案是为您自己分类密钥。

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

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()
© www.soinside.com 2019 - 2024. All rights reserved.