Python:创建排行榜并保存数据

时间:2016-05-02 08:17:41

标签: python json pyqt

我几乎完成了GUI中的Quiz应用程序,我试图制作一个排行榜,因此它会显示Label中的所有名称。

但这怎么可能呢?我需要创建一个文本文件,从哪里可以导入名称?如果是的话:

  • 如何使用Python将文本解析为文件? (对于QLineEdit的这个例子)
  • 如何导入数据? (在bash脚本中等同于grep的东西)

我应该制作另一个python文件并将数组变量添加到其中吗?

如何将数据附加到数组其他文件?

import leaderboards #Import leaderboards.py

in leaderboards board.append("name1") #Should it be something like this?

否则我怎么能用Json或其他一些数据库脚本呢? (不访问http协议,游戏离线)

  • 在Json中制作排行榜数据文件需要做些什么? (我可以用简单的数组来做)
  • 如何将数据解析为Json文件?
  • 如何将Json文件导入Python并打印出来?

非常感谢解释,例如Json文件名是Data.json。

我可以在PyQt资源文件中编译Json文件吗?

此外,如果我将Python编译为可执行文件,我该如何包含此数据文件?

很抱歉让它太笼统,我无法找到有关我的具体问题。

1 个答案:

答案 0 :(得分:1)

下面的2个方法,读取和写入json文件。 文件结构类似于dict。

import json

def json_load_file(json_file):
    with open(json_file) as json_file:
        json_data = json.load(json_file)
        return json_data

def json_dump_to_file(json_file, json_dict):
    with open(json_file, 'w') as outfile:
        json.dump(json_dict, outfile, indent=4)

在游戏结束之后更新dict并保存,只是一个例子:

def update_board(json_file, latest_game_score):
    leaderboard_dict = json_load_file(json_file)
    do_stuff-> update the dict if required (example curr_score> score in file)
    when board is updated call->
    json_dump_to_file("/root/board.json",leaderboard_dict)