无法加载扩展 'cogs.__pycach'。 discord.py

Extension 'cogs.__pycach' could not be loaded. discord.py

我正在尝试设置我的 python 机器人以使用文件夹 "cogs" 中的扩展程序。但是启动时出现如下错误

discord.ext.commands.errors.ExtensionNotFound: Extension 'cogs.__pycach' could not be loaded.

我正在使用以下代码加载和卸载我的扩展程序:

async def load(ctx, extension):
    bot.load_extension(f'commands.{extension}')

@bot.command()
async def unload(ctx, extension):
    bot.unload_extension(f'cogs.{extension}')
for filename in os.listdir('./cogs'):
    bot.load_extension(f'cogs.{filename[:-3]}')

不过,如果我删除了pycache文件夹,这个问题就解决了,但是每次重启bot时都必须删除这个文件夹。

您的代码试图加载此目录中的所有内容,因此在此示例中,代码尝试加载 _pycache_,我认为这不是 cog :P。 你可以试试这个:

extensions = [
    '[modulename]',
    ]

例如

extensions = [
    'data.testCog'
    ]

这个“.” (点)用于标记目录(如果 testCog.py 文件在数据文件夹中)。然后你可以做一个 if 和 for 循环:

if __name__ == '__main__':
    for extension in extensions:
        bot.load_extension(extension)

你可以用这个方法。仅加载 python 个文件。

for filename in os.listdir('./cogs'):
    if filename.endswith('.py'):
        bot.load_extension(f'cogs.{filename[:-3]}')