【问题标题】:SyntaxError discord.py语法错误 discord.py
【发布时间】:2021-04-21 22:14:39
【问题描述】:

我是编码新手,我正在创建一个 Discord 机器人,但仍然遇到语法错误,代码如下:

import discord
import os 
from discord.ext import commands

client = commands.Bot(command_prefix = "/")

@client.event
async def on_ready():
  print("Bot is online!")
  for filename in os.listdir("./cogs"):
    if filename.endswith(".py"):
      try:
        client.load_extension(f"cogs.{filename[:-3]}")
        print(f"Loaded {filename}")
        except Exception as e:
          print(f"Failed to load {filename}")
          print(f"[ERROR] {e}")
          
          client.run("token")

这就是错误

  File "main.py", line 15
    except: Exception as e:
    ^
SyntaxError: invalid syntax

【问题讨论】:

  • 你确定你分享和使用的代码是一样的吗?
  • 是的,我正在使用 repl.it 的 IDE 来获得免费托管,如果这有什么改变的话。

标签: python discord discord.py discord.py-rewrite


【解决方案1】:
try:
    client.load_extension(f"cogs.{filename[:-3]}")
    print(f"Loaded {filename}")
except Exception as e:
    print(f"Failed to load {filename}")
    print(f"[ERROR] {e}")

except 应该在 try 块之外。 除了在范围内找不到任何尝试,类似地,在其范围内也找不到任何尝试

缩进可能因ide而异

【讨论】:

    【解决方案2】:

    这可能是因为 Python 缩进 没有正确完成。 您的tryexcept 的缩进不同,请确保except 语句与try 处于同一级别。

    更正的代码:

    import discord
    import os 
    from discord.ext import commands
    
    client = commands.Bot(command_prefix = "/")
    
    @client.event
    async def on_ready():
      print("Bot is online!")
      for filename in os.listdir("./cogs"):
        if filename.endswith(".py"):
          try:
            client.load_extension(f"cogs.{filename[:-3]}")
            print(f"Loaded {filename}")
          except Exception as e:
            print(f"Failed to load {filename}")
            print(f"[ERROR] {e}")
              
    client.run("token")
    

    Reference on Python indentation.

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 2021-05-02
      • 2019-09-08
      • 2021-10-16
      • 2021-06-14
      相关资源
      最近更新 更多