擅长:python、mysql、java
<p>听起来好像每次当条目不存在或是空的<code>dict</code>时都要初始化<code>player_data[str(user.id)]</code></p>
<p>如果是这种情况,我建议使用<a href="https://docs.python.org/3/library/stdtypes.html#dict.get" rel="nofollow noreferrer">^{<cd3>}</a>执行以下操作,如果条目不存在,则返回<code>None</code>:</p>
<pre class="lang-py prettyprint-override"><code>async def setup(user):
global ITEMS
with open("player_data.json", "r") as json_file:
player_data = json.load(json_file)
user_id = str(user.id)
if not player_data.get(user_id):
player_data[user_id] = {
"inventory": {item: 0 for item in ITEMS}
"quests" = {
"completed": "0"
"running": False
"start": None
"end": None
"duration": None
}
"trees": 2
"daily_claim": None
}
with open("player_data.json", "w") as json_file:
json.dump(player_data, json_file)
</code></pre>