Я создаю дискорд-бота, который будет играть в карты против человечества. Проблема в том, что когда я пытаюсь загрузить файл JSON, программа не работает.

`@bot.command(pass_context=True)
async def loadCards(ctx):
  with open('wcards.json') as f:
    wtcards = json.load(f)
  with open('bcards.json') as f:
    bkcards = json.load(f)
  if len(wtcards) > 1 and len(bkcards) > 1:
    await ctx.send('Cards Loaded')`
2
Vaderstyle Gaming 24 Дек 2019 в 21:31
1
Можете ли вы быть более конкретным, чем "это не работает"? Вы получаете ошибки? Каков результат?
 – 
Billy Hudson
25 Дек 2019 в 06:19
Он говорит, что объект "str" ​​не имеет атрибута "read"
 – 
Vaderstyle Gaming
29 Дек 2019 в 01:28

1 ответ

Я считаю, что вам нужно использовать параметры чтения и записи при использовании open(). например

@bot.command(pass_context=True)
async def loadCards(ctx):
  with open('wcards.json', 'r') as f:
    wtcards = json.load(f)
  with open('bcards.json', 'r') as f:
    bkcards = json.load(f)
  if len(wtcards) > 1 and len(bkcards) > 1:
    await ctx.send('Cards Loaded')
2
Dharman 25 Дек 2019 в 20:31