无法下载文件,PermissionError:[Errno 13]权限被拒绝:'C:\\ Users \\ *** \\ Desktop'with telepot

问题描述

我正在尝试使用电报机通过电报bot下载一些文件,但是当我尝试下载它时,出现此错误

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\***\\Desktop'

这是当前代码

def on_chat_message(msg):
    content_type,chat_type,chat_id = telepot.glance(msg)
    file_id = msg['document']['file_id']
    bot.download_file(file_id,os.getcwd())

解决方法

您正在尝试保存名为C:\Users\***\Desktop的文件。您不能这样做,因为C:\Users\***\Desktop是目录。

在Windows上,尝试打开目录进行读取或写入就像文件一样,您会遇到权限拒绝错误。

您将必须以某种方式指定文件名。我不知道它可能在您收到的msg对象中。

代替写作

    bot.download_file(file_id,os.getcwd())

尝试

    file_name = "somefilenamehere.txt" # or look up from msg
    bot.download_file(file_id,os.path.join(os.getcwd(),file_name))