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\"
希望这有帮助 您可以将代码和输出直接添加到问题中,而不是链接到粘贴箱。根据该粘贴箱中的错误消息,您似乎试图上载系统上不存在的文件。您是否已转到文件系统上的该目录并查看该文件是否确实存在?您可以将代码和输出直接添加到问题中,而不是链接到粘贴箱。根据该粘贴箱中的错误消息,您似乎试图上载系统上不存在的文件。您是否已转到文件系统上的该目录,查看该文件是否确实存在?