Python:在put请求中合并文件路径

2024-05-16 23:41:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个使用请求库并与Autodesk Forge REST API通信的项目。在这个项目的一部分,我必须上传一个文件到服务器。我使用以下代码:

url = 'https://developer.api.autodesk.com/oss/v2/buckets/' + BUCKET_NAME + '/objects/' + FILE_NAME
headers = {
'Content-Type' : 'application/octet-stream',
'Authorization' : 'Bearer ' + ACCESS_TOKEN,
}

with open(FILE_NAME, 'rb') as f:
    r = requests.put(url, headers=headers, data=f)

其中BUCKET\u NAME是BUCKET的名称,FILE\u NAME是我要上载的文件的名称。如果我要上传的文件与python脚本位于同一目录中,那么这段代码可以正常工作。但是,有什么方法可以提供文件的路径吗(例如,当文件名为/dir1/dir2/dir3/filename.jpg时,如何使此代码工作


Tags: 文件项目代码namehttps服务器名称rest
1条回答
网友
1楼 · 发布于 2024-05-16 23:41:58

您可以使用os.path.join来创建路径并分配给FILE_NAME,请注意,这只适用于linux系统,因为我们使用/作为路径分隔符

import os

folders = ['dir1','dir2','dir3']
FILE_NAME = os.path.join(*folders, 'filename.jpg')

print(FILE_NAME)

对于更通用的方法,我们可以简单地使用/作为分隔符来连接各个目录和文件名

names = ['dir1','dir2','dir3', 'filename.jpg']

FILE_NAME = '/'.join(names)
print(FILE_NAME)

两种情况下的输出都是

dir1/dir2/dir3/filename.jpg

相关问题 更多 >