json - 如何将 id 附加到 whitelist.json 以便将其添加并且机器人无需重新启动即可读取它
问题描述
如何将 id 附加到 whitelist.json 以便将其添加并且机器人可以在不重新启动的情况下读取它,所以当我将 id 附加到 whitelist.json 时,机器人可以直接读取它而无需重新启动并让新的 id 使用机器人?这是我尝试过的
@bot.command()
async def whitelist(ctx, ids: int=None):
data = {}
for id in ids:
data[id] = []
data[id].append(id)
with open('./whitelist.json', 'w') as file:
json.dump(data, file)
如果有帮助的话,这就是 whitelist.json 中的内容:
{
"Whitelist": [483686172221243402]
}
注意:我希望命令让我每次添加多个 id,并且我希望机器人访问 whitelist.json 并直接读取新数据,以便新 id 可以使用机器人
解决方案
您应该json.dumps()
像这样使用并写入文件:
import json
@bot.command()
async def whitelist(ctx, ids: int=None):
data = {}
for id in ids:
data[id] = []
data[id].append(id)
with open("whitelist.txt", "w") as f:
f.write(json.dumps(data)) # write string to file using dumps.
现在下次打开此文件时,内容将被修改。
推荐阅读
- google-cloud-platform - 使用 terraform 创建 google_sql_user 始终会重新创建资源
- swift - Swift4 - 意外发现 nil - 将图像设置为按钮
- php - PHP / 连接到 Sphinx 需要用户名 / 密码
- c# - 如何为 List 类型实体编写 Razor 代码?
- ios - iOS - 视图(ViewController),具有持久数据
- php - 无法从 PHP 创建视图,但可以从 phpMyAdmin
- c# - 如何使正则表达式正确验证信息?
- adonis.js - adonijs 身份验证失败,出现 401 错误,并使用正确的电子邮件和密码
- mysql - 有没有办法在 mysql 数据库上编写类似脚本的 Salesforce Devoloper Console?
- haskell - Haskell:无法构造无限类型