Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误2:随机生成器上没有这样的文件或目录_Python - Fatal编程技术网

Python 错误2:随机生成器上没有这样的文件或目录

Python 错误2:随机生成器上没有这样的文件或目录,python,Python,我正在使用一个库向程序中添加一个机器人,但我不确定框架中的一个部分。我不知道为什么以下代码不起作用: @bot.command() async def meme(): path = r"C:\Users\Diego\Dropbox\PycharmProjects\XDBot\freshmemes" memeToPost = random.choice([ x for x in os.listdir(path)

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

@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,并等待bot.upload,因为它是我正在使用的bot框架的一部分)

每当我尝试运行它时,我都会得到:


感谢您的帮助:)

最后一行,您需要
上传(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)

最后一行,您需要
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)
使用
os.path.join(path,memeToPost)
代替
path+memeToPost
,因为你错过了路径和文件名之间的
\
,使用
os.path.join(path,memeToPost)
代替
path+memeToPost
,因为你错过了路径和文件名之间的
\

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Diego\\Dropbox\\PycharmProjects\\XDBot\\freshmemesmeme1.jpg'
假设您希望在名为
XDBot
的文件夹中有一个名为
freshmemesmee1.jpg
的文件,听起来好像您在相关文件夹中根本没有名为
freshmemesmee1.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\"
希望这有帮助

假设您希望在名为
XDBot
的文件夹中有一个名为
freshmemesmee1.jpg
的文件,听起来好像您在相关文件夹中根本没有名为
freshmemesmee1.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\"

希望这有帮助

您可以将代码和输出直接添加到问题中,而不是链接到粘贴箱。根据该粘贴箱中的错误消息,您似乎试图上载系统上不存在的文件。您是否已转到文件系统上的该目录并查看该文件是否确实存在?您可以将代码和输出直接添加到问题中,而不是链接到粘贴箱。根据该粘贴箱中的错误消息,您似乎试图上载系统上不存在的文件。您是否已转到文件系统上的该目录,查看该文件是否确实存在?