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

2024-04-26 17:50:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用Python中的库从Dropbox下载一个CSV文件,但我在试图获得将其实际放入计算机所需的权限时遇到了相当大的问题。你知道吗

在任何情况下,我得到的错误信息是:

PermissionError:[Errno 13]权限被拒绝:“我的\u目录”

因此,我尝试了我在调查中发现的仅有的两种解决方案:1)使用os.chmod()将目录的模式更改为'0o777',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')

我认为以管理员身份运行这种程序并更改了目录权限后,我就有权将文件下载到其中。但我还是得到了上面提到的权限错误。你知道吗

任何帮助或洞察什么可能导致这个问题将不胜感激。你知道吗


Tags: 文件topathimport目录权限oslocal
1条回答
网友
1楼 · 发布于 2024-04-26 17:50:14

根据文档chmod,您只能设置只读标志,所有其他位都被忽略。然而,这可能不是问题所在。你知道吗

查看dropbox forum,您可能会丢失一个“/”和文件名,而不仅仅是目录。你知道吗

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

根据Greg

You do need to use the full path when specifying the file you want to download. Using files_list_folder and files_list_folder_continue will give you every entry, and you can get the full path from the returned (File)Metadata.path_lower. (I.e., use entry.path_lower instead of '/'+entry.name.)

相关问题 更多 >