1

1つのフォルダーのメタデータを使用して、ローカルマシンにダウンロードするファイルの相対的なファイルパスを取得できます。のソースコードへのこのパスを指定するとdo_get()、許可拒否エラーが発生します。これは、ファイルをダウンロードして復号化することになっているが、実際にはファイルをダウンロードできないコードです。

  @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()、コマンドラインでPermissionDeniedエラーが発生します。どんな助けでもいただければ幸いです。

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'
4

1 に答える 1

0

ローカルディレクトリのアクセス許可の問題に聞こえますか?私は最近同様の問題を抱えていました、もしそれがここにいくつかの可能な解決策があるならば。

これはDropboxAPIの問題ではなく、ローカルIOエラーのように思えます。

于 2013-03-22T15:23:15.547 に答える