问题描述
这是我第一次在堆栈溢出中发帖。 也许我可以得到我需要的解决方案。
busdata=shelve.open("Database")
for lctno in busdata.keys():
outputLine( lctno , busdata[ lctno ])
它随机显示我的 .dat 文件中的数据。 我希望它按升序显示。
1楼
正如 gddc 所建议的,解决方案是为自己排序密钥。
busdata=shelve.open("Database")
my_keys = list(bustdata.keys())
my_keys.sort()
for lctno in my_keys:
outputLine( lctno , busdata[ lctno ])
2楼
由于上面的代码对我不起作用 - 我做了一些测试,并考虑发布我的最终工作结果(完整) - 按顺序解决搁置中所有数据的列表:
#!/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()