Kivy:使用Kivy.storage.jsonstore在另一个JSON对象中添加JSON对象

2024-04-28 12:14:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我想将KivyApplication的设置保存在JSON文件中

我想创建一个JSON文件,如下所示:

{
  "users": [
    {
      "user_name": "person_1",
      "password": "1234"
    },
    {
      "user_name": "person_2",
      "password": "5678"
    }
  ]
}

我在KivyAPI参考网页(Kivy JSON Storage Example)中找到了一个示例

以下是我向主JSON对象添加多个JSON对象的解决方案:

JsonStore.py:

from kivy.storage.jsonstore import JsonStore

store = JsonStore('hello.json')

users_list = [{"user_name": "person_1", "password": "1234"},
              {"user_name": "person_2", "password": "5678"}]
# put some values
for u in users_list:
    print(u)
    store.put('users', u)

但这种错误会发生:

store.put('users', u)
TypeError: put() takes 2 positional arguments but 3 were given

有人知道我在这里做错了什么,以及如何让它工作吗?提前谢谢你


Tags: 文件对象storenamejson网页putpassword
1条回答
网友
1楼 · 发布于 2024-04-28 12:14:52

这个结构是由put(object_name, attribute1=value1[, attribute2=value2, ...])预先定义的

要实现您想要的,您必须给users一个键来保存对象列表

长话短说,此代码应该可以工作:

from kivy.storage.jsonstore import JsonStore

store = JsonStore('hello.json')

users_list = [{"user_name": "person_1", "password": "1234"},
          {"user_name": "person_2", "password": "5678"}]

store.put('users', objects=users_list)

相关问题 更多 >