拒绝使用Python从Dropbox API下载文件的权限

时间:2019-01-10 15:38:31

标签: python permissions dropbox

我正在尝试使用他们在Python中的库从Dropbox下载CSV文件,但是我遇到了一个问题,即试图获得将其实际放入计算机所需的权限。

无论如何我得到的错误消息是:

PermissionError:[Errno 13]权限被拒绝:'my_directory'

因此,在研究过程中,我尝试了发现的仅有的两种解决方案:1)使用'0o777'将目录模式更改为os.chmod(),以及2)以管理员身份运行事物。但是即使同时使用这两种方法,我仍然没有获得将文件写入本地计算机的权利。可能还值得注意的是,文件名和我要编写的目录名称不相同。

import os
import dropbox

local_dir = 'absolute_path_to_directory'

os.chmod(local_dir, 0o777)
dbx = dropbox.Dropbox('my_token_here')
dbx.files_download_to_file(local_dir, 'path_to_file_in_dropbox')

我认为以管理员身份运行这种程序并更改了目录权限,因此我实际上具有将文件下载到其中的权限。但是我仍然收到上面提到的PermissionError。

对于可能导致此问题的原因的任何帮助或见解,将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据文档chmod,您只能将只读标志设置为所有其他位都将被忽略。但是,这可能不是问题。

看着dropbox forum,看来您可能缺少一个'/'以及文件名,而不仅仅是目录。

dbx.files_download_to_file(j, '/'+ j)

根据Greg

  

在指定要下载的文件时,确实需要使用完整路径。使用files_list_folder和files_list_folder_continue将为您提供所有条目,并且您可以从返回的(File)Metadata.path_lower获取完整路径。 (即,使用entry.path_lower代替'/'+entry.name。)