0

使用 Dropbox API,我可以查看根文件夹中的所有文件夹,并使用元数据,我可以在屏幕上打印来自 JSON 的所有信息。

例如,一个样本输出就像

{
    'bytes': 0,
    'contents': [
        {
           'bytes': 0,
           'icon': 'folder',
           'is_dir': True,
           'modified': 'Thu, 25 Aug 2011 00:03:15 +0000',
           'path': '/Sample Folder',
           'rev': '803beb471',
           'revision': 8,
           'root': 'dropbox',
           'size': '0 bytes',
           'thumb_exists': False
        }, 
        {
           'bytes': 77,
           'icon': 'page_white_text',
           'is_dir': False,
           'mime_type': 'text/plain',
           'modified': 'Wed, 20 Jul 2011 22:04:50 +0000',
           'path': '/magnum-opus.txt',
           'rev': '362e2029684fe',
           'revision': 221922,
           'root': 'dropbox',
           'size': '77 bytes',
           'thumb_exists': False
        }
    ],
    'hash': 'efdac89c4da886a9cece1927e6c22977',
    'icon': 'folder',
    'is_dir': True,
    'path': '/',
    'root': 'app_folder',
    'size': '0 bytes',
    'thumb_exists': False
}

我不确定,如何获取“内容”数组的元素,然后递归地使用“路径”属性获取文件。

我的最终目标是获取文件Dropbox夹中所有文件的列表。有没有更好的方法来获取所有文件的列表?

我试过以下代码:

folder_metadata = self.api_client.metadata('/Photos')
print "-----------------------------"
print "path:", folder_metadata['path']
for s in folder_metadata['contents']:
    for dirname, dirnames, filenames in os.walk(s['path']):
        for filename in filenames:
            var = os.path.join(dirname, filename)
            print var

它的输出是:

-----------------------------
path: /Photos

如何获得绝对路径?

4

0 回答 0