2013-01-30 2 views
1

Через метаданные одной папки я могу получить относительные пути к файлам, которые хочу загрузить на свой локальный компьютер. Когда я даю этот путь к исходному коду do_get(), он дает мне разрешение отклонить ошибку. Вот код, который должен загружать файлы и расшифровывать их, но не может скачивать файлы с первых рук.Разрешение Отказано в ошибке при загрузке файла из Dropbox в Python

@command 
    def do_decryptFiles(self, from_path, to_path, key): 
    """ 
    Decrypt all the files given in the folder and subfolders of from_path 

    Examples: 
    Dropbox> decryptFiles '/Photos' 'E:\temp' 'a13223132323232' 
    """ 

    folder_metadata = self.api_client.metadata(from_path) 
    print "metadata:", folder_metadata 
    for s in folder_metadata['contents']: 
     if(s['is_dir'] == True): 
      print "directory:", s['path'] 
     else: 
      FFPath = s['path'] 
      print FFPath 
      do_get(self, from_path, to_path) 
      to_file = open(os.path.abspath(to_path), "wb") 
      f, metadata = self.api_client.get_file_and_metadata(self.current_path + FFPath) 
      to_file.write(f.read()) 

Когда он вызывает open(), командная строка дает мне разрешение Denied ошибку. Любая помощь будет оценена по достоинству.

Traceback (most recent call last): 
    File "example/cli_client.py", line 397, in <module> 
    main() 
    File "example/cli_client.py", line 394, in main 
    term.cmdloop() 
    File "C:\Python27\lib\cmd.py", line 142, in cmdloop 
    stop = self.onecmd(line) 
    File "C:\Python27\lib\cmd.py", line 219, in onecmd 
    return func(arg) 
    File "example/cli_client.py", line 77, in wrapper 
    return f(self, *args) 
    File "example/cli_client.py", line 315, in do_decryptFiles 
    to_file = open(os.path.abspath(to_path), "wb") 
IOError: [Errno 13] Permission denied: 'E:\\proto' 

ответ

0

Звучит вопрос о разрешении локального каталога? Недавно у меня была аналогичная проблема, если есть какие-то возможные решения here.

Это звучит так, как будто это не проблема API Dropbox, это локальная ошибка ввода-вывода.