Dropbox API错误“路径中已存在具有该名称的文件”

时间:2014-02-11 17:17:41

标签: excel python-2.7 dropbox-api

我正在尝试在包含excel工作簿的dropbox中浏览一系列文件夹。 我目前正在尝试使用dropbox api查找文件并将其作为输入文件下载到本地文件夹中,以便我可以解析单元格以获取我想要获取的特定信息,删除临时输入文件然后转到dropbox中的下一个文件夹以获取下一个输入文件。

程序在第一个输入文件上失败,并显示错误:

ErrorResponse: [403] u"A file with that name already exists at path

但是当我去检查时,文件夹中没有任何文件。

conn = dropbox.client.DropboxClient(sess)
folder_metadata = conn.metadata("/Apps/Attachments")   #Base folder where folders with input files are located

#Go through each folder
for item in folder_metadata["contents"]:
    temp_path = item["path"]
    print temp_path

    #Download file called '2014.xlsx' and save it in a local folder as 'input.xlsx'
    conn.file_copy(temp_path + "/2014.xlsx", "/Users/myusername/Desktop/DropboxAPI/input.xlsx")

    #Code that parses through input.xlsx

    os.remove("input.xlsx")

任何人都有类似的问题吗?我正在使用Mac OS X(10.9.1)进行编程

1 个答案:

答案 0 :(得分:0)

您正在调用file_copy,它会将Dropbox中的文件复制到其他位置(在Dropbox中)。我想你想要的是将文件下载到本地计算机。为此,您应该使用get_file

这样的事情:

with file('/Users/myusername/Desktop/DropboxAPI/input.xlsx', 'wb') as fout:
    with conn.get_file(temp_path) as fin:
        fout.write(fin.read())