簡體   English   中英

你如何用python將數據附加到json?

[英]How do you append data to json with python?

我一直在嘗試為我的不和諧機器人在 python 中的 json 文件中附加一些數據。 但是,我只能獲取數據來替換其他字符串數據。 這是我的代碼:

@client.command()
async def banTest(ctx, member: discord.Member, days=0, hours=0, minutes=0, *, reason="None"):
    user = ctx.author
    seconds = 0
    if days == 0 and hours == 0 and minutes == 0:
        moderatorActions = {
            "bans":
                [
                    {
                        "username": f"{member}",
                        "bannedBy": f"{user}",
                        "banDate": f"{datetime.date.today()} at {datetime.datetime.now().time()}",
                        "reason": f"{reason}",
                        "banTimeRemaining": "INDEFINITE"
                    }
                ]
        }
    else:
        hours = hours + (days * 24)
        minutes = minutes + (hours * 60)
        seconds = seconds + (minutes * 60)
        moderatorActions = {
            "bans":
                [
                    {
                        "username": f"{member}",
                        "bannedBy": f"{user}",
                        "banDate": f"{datetime.date.today()} at {datetime.datetime.now().time()}",
                        "reason": f"{reason}",
                        "banTimeRemaining":
                            [
                              {"seconds": [f"{seconds}"]}
                            ]
                    }
                ]
        }
    with open('moderatorActionLogs.json') as f:
        data = json.load(f)
    data.update(moderatorActions)
    with open('moderatorActionLogs.json', 'w') as f:
        json.dump(data, f)

如何使用:/banTest @user#1234 7 5 30 對員工的粗魯行為

我正在使用這個 json 文件來存儲用戶被禁止的時間。 我將如何將用戶添加到此列表中,而不是替換它們?

(此外,任何有關如何每秒從“秒”變量中減去一個以便臨時禁止功能實際起作用的幫助都會很棒)

謝謝! (:

像這樣嘗試:這只是一個例子,嘗試與基於您的數據樹相同

import json

with open('moderatorActionLogs.json', 'r+') as f:
    data = json.load(f)
    data['id'] = 134 # <--- add `id` value.
    f.seek(0)        # <--- should reset file position to the beginning.
    json.dump(data, f, indent=4)
    f.truncate()     # remove remaining part

這對你有意義嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM