gpt4 book ai didi

python - 如何使用python将完整的文件夹上传到Dropbox

转载 作者:太空狗 更新时间:2023-10-30 00:55:22 28 4
gpt4 key购买 nike

我想一次将整个文件夹上传到 Dropbox,但我似乎无法完成,这可能吗?即使我尝试上传单个文件,我也必须在 Dropbox 路径中精确确定文件扩展名,还有其他方法吗?我正在使用的代码

client = dropbox.client.DropboxClient(access_token)
f= open(file_path)
response = client.put_file('/pass',f )

但是没用

最佳答案

Dropbox SDK 不会自动为您找到所有本地文件,因此您需要自己枚举它们并一次上传一个文件。 os.walk 是在 Python 中执行此操作的便捷方式。

下面是工作代码,在注释中有一些解释。用法是这样的:python upload_dir.py abc123xyz/local/folder/to/upload/path/in/Dropbox:

import os
import sys

from dropbox.client import DropboxClient

# get an access token, local (from) directory, and Dropbox (to) directory
# from the command-line
access_token, local_directory, dropbox_destination = sys.argv[1:4]

client = DropboxClient(access_token)

# enumerate local files recursively
for root, dirs, files in os.walk(local_directory):

for filename in files:

# construct the full local path
local_path = os.path.join(root, filename)

# construct the full Dropbox path
relative_path = os.path.relpath(local_path, local_directory)
dropbox_path = os.path.join(dropbox_destination, relative_path)

# upload the file
with open(local_path, 'rb') as f:
client.put_file(dropbox_path, f)

编辑:请注意,此代码不会创建空目录。它会将所有文件复制到 Dropbox 中的正确位置,但如果有空目录,则不会创建这些文件。如果您想要空目录,请考虑使用 client.file_create_folder(在循环中使用 dirs 中的每个目录)。

关于python - 如何使用python将完整的文件夹上传到Dropbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189557/

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