gpt4 book ai didi

python - 使用 Dropbox Python API 获取所有文件的元数据

转载 作者:行者123 更新时间:2023-12-01 02:49:08 26 4
gpt4 key购买 nike

我使用 Dropbox Python API 连接的 Dropbox 帐户的主文件夹中有大约 10k 个文件。我有兴趣获取所有文件的元数据信息,问题是当我调用以下命令时:

client = dropbox.Dropbox('TOKEN HERE')
metadata = client.files_list_folder('').entries
fname = []
for i in metadata:
fname.append(i)
print(len(fname))

它只打印出 2000 个文件。我发现它只打印这样的整数的信息很可疑,这让我认为这是一个硬限制。

我知道有一个 files_list_folder_continue 函数,如果我理解正确的话,它会继续查找 files_list_folder 函数停止的元数据,但我不确定如何实现它。我尝试了以下方法:

metadata = client.files_list_folder('').entries
metadata1 = client.files_list_folder_continue('').entries
met = pd.concat([metadata, metadata1], axis=0)

但它会产生以下错误:dropbox.stone_validators.ValidationError: '' 必须至少有 1 个字符,得到 0。显然,这与我不知道如何使用 files_list_folder_continue 函数有关。如何使用这些?

最佳答案

我意识到有一种方法可以解决这个问题,所以我想如果 python 初学者在将来使用 python 时遇到同样的疑问,我会发布这篇文章:

metadata = client.files_list_folder('')
flist = []
if metadata.has_more == True:
m1 = metadata.entries
cur = metadata.cursor
for i in m1:
if isinstance(i, dropbox.files.FileMetadata):
flist.append([i.name, i.size])
m2 = client.files_list_folder_continue(cur)
while m2.has_more == True:
for i in m2.entries:
if isinstance(i, dropbox.files.FileMetadata):
flist.append([i.name, i.size])
cur = m2.cursor
m2 = client.files_list_folder_continue(cur)

获取 dropbox 文件夹主目录中所有文件的名称和大小。

关于python - 使用 Dropbox Python API 获取所有文件的元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44990670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com