将curl PUT转置为requests.put

时间:2013-06-22 23:52:38

标签: python curl rackspace-cloud rackspace

我想转置curl命令(将本地文件上传到rackspace)

curl -X PUT -T screenies/hello.jpg -D - \
-H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \
https://storage101.dfw1.clouddrive.com/v1/CF_xer7_343/images/hello.jpg

到python请求。到目前为止,我有:

url = 'http://storage.clouddrive.com/v1/CF_xer7_343/images/hello.jpg'
headers = {'X-Auth-Token': 'fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae'}
request = requests.put(url, headers=headers, data={})

我在哪里指定我要上传screenies/hello.jpg

我理解curl中的-T代表'到FTP服务器',但我搜索了requests's github但是找不到FTP。

1 个答案:

答案 0 :(得分:1)

不,-T只是意味着'上传此文件',可以与FTP一起使用,但并不仅限于此。

您只需将文件数据上传为data参数:

with open('screenies/hello.jpg', 'rb') as image:
    request = requests.put(url, headers=headers, data=image)

data将为您读取并上传图片数据。