将 .txt 文件上传到 Dropbox 而无需先在本地保存
Upload .txt file to Dropbox without saving locally first
我有一个 .txt 文件需要上传到 Dropbox 文件夹中。在我的 PC 上它工作得很好,但是我需要将代码放入 Google Cloud Function 并且因为 GCP 文件系统是只读的 - 如果失败则使用此方法。
任何人都可以推荐一种不需要我在将数据推送到 Dropbox 之前将数据保存在本地的替代方法吗?
这是我当前本地版本的工作代码:
import pathlib
import dropbox
api_key = 'XXXXXXXXXX'
# Build String And Save Locally To File
string = ["Item_A","Item_B","Item_C","Item_D"]
string = str(string)
with open('Item_List.txt', 'w') as f:
f.write(string)
# Define Local File Path
localfolder = pathlib.Path(".")
localpath = localfolder / 'Item_List.txt'
# Define Dropbox Target Location
targetfile = '/Data/' + 'Item_List.txt'
# Initilize Dropbox
d = dropbox.Dropbox(api_key)
# Upload File To Dropbox
with localpath.open("rb") as f:
d.files_upload(f.read(), targetfile, mode=dropbox.files.WriteMode("overwrite"))
如果你需要简单的使用字节数据,可以使用built-in bytes
function将字符串转换为字节数据(你还需要指定编码):
data = ["Item_A", "Item_B", "Item_C", "Item_D"]
string_data = str(data)
byte_data = bytes(string_data, encoding='utf-8')
然后稍后只需使用字节数据作为参数:
d.files_upload(byte_data, targetfile, mode=dropbox.files.WriteMode("overwrite"))
我有一个 .txt 文件需要上传到 Dropbox 文件夹中。在我的 PC 上它工作得很好,但是我需要将代码放入 Google Cloud Function 并且因为 GCP 文件系统是只读的 - 如果失败则使用此方法。
任何人都可以推荐一种不需要我在将数据推送到 Dropbox 之前将数据保存在本地的替代方法吗?
这是我当前本地版本的工作代码:
import pathlib
import dropbox
api_key = 'XXXXXXXXXX'
# Build String And Save Locally To File
string = ["Item_A","Item_B","Item_C","Item_D"]
string = str(string)
with open('Item_List.txt', 'w') as f:
f.write(string)
# Define Local File Path
localfolder = pathlib.Path(".")
localpath = localfolder / 'Item_List.txt'
# Define Dropbox Target Location
targetfile = '/Data/' + 'Item_List.txt'
# Initilize Dropbox
d = dropbox.Dropbox(api_key)
# Upload File To Dropbox
with localpath.open("rb") as f:
d.files_upload(f.read(), targetfile, mode=dropbox.files.WriteMode("overwrite"))
如果你需要简单的使用字节数据,可以使用built-in bytes
function将字符串转换为字节数据(你还需要指定编码):
data = ["Item_A", "Item_B", "Item_C", "Item_D"]
string_data = str(data)
byte_data = bytes(string_data, encoding='utf-8')
然后稍后只需使用字节数据作为参数:
d.files_upload(byte_data, targetfile, mode=dropbox.files.WriteMode("overwrite"))