【问题标题】:Errno 2: No such file or directory on a random generatorErrno 2:随机生成器上没有这样的文件或目录
【发布时间】:2017-06-20 07:20:08
【问题描述】:

我正在使用库来将机器人添加到程序中,但我不确定框架中的某个部分。我不知道为什么下面的代码不起作用:

@bot.command()
async def meme():
    path = r"C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes"
    memeToPost = random.choice([
                             x for x in os.listdir(path)
                             if os.path.isfile(os.path.join(path, x))
                             ])
    await bot.upload(path+memeToPost)

(忽略 @bot.command()、async def meme 和 await bot.upload,因为它是我正在使用的机器人框架的一部分)

每当我尝试运行它时,我都会收到this

感谢任何帮助,谢谢:)

【问题讨论】:

  • 您可以将代码和输出直接添加到您的问题中,而不是链接到 pastebins。
  • 根据该 pastebin 中的错误消息,您似乎尝试上传系统上不存在的文件。您是否去过文件系统上的那个目录并查看该文件是否真的存在?

标签: python


【解决方案1】:

最后一行,需要upload(path + '/' + memeToPost)

您的代码:

def meme():
    path = r"C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes"
    memeToPost = random.choice([
                             x for x in os.listdir(path)
                             if os.path.isfile(os.path.join(path, x))
                             ])
    await bot.upload(path+memeToPost)

【讨论】:

    【解决方案2】:

    使用os.path.join(path, memeToPost) 而不是path+memeToPost,因为您在路径和文件名之间错过了\

    【讨论】:

      【解决方案3】:
      FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Diego\\Dropbox\\PycharmProjects\\XDBot\\freshmemesmeme1.jpg'
      

      假设您想要一个名为freshmemesmeme1.jpg 的文件位于名为XDBot 的文件夹中,听起来好像您在相关文件夹中根本没有一个名为freshmemesmeme1.jpg 的文件。更正路径(或将图像移动到 XDBot 文件夹)应该可以解决问题:)

      但是,您更可能想要这样的路径:C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes\meme1.jpg。在这种情况下,您在 Python 中定义的路径中缺少尾部反斜杠:

      path = r"C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes"
      

      应该是:

      path = r"C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes\"
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-30
        • 1970-01-01
        • 1970-01-01
        • 2019-11-20
        • 2015-11-19
        • 2013-03-21
        • 2015-04-09
        相关资源
        最近更新 更多