如何将文件存储到变量中?

时间:2013-11-01 15:20:28

标签: python python-requests

我正在尝试使用文件/文本托管网站的请求构建一个自定义Python库,我有点坚持如何将文件存储到变量,然后提交它。

这是我到目前为止的一个例子。

#!/usr/bin/env python

import random
import requests
import string

def create_file():
    file = open('file.zip')

    requests.post('http://website.com/file', data={'file': file, 'private': 0, 'mature': 0})

2 个答案:

答案 0 :(得分:2)

正如其中一条评论所说,你可以通过简单地尝试这个来轻松得到答案。如果您首先从文件中读取文本,它应该有效。

但是,这里有一个提示,可能对python中的文件IO更好。 with语句可以自动打开文件并将名称与其关联。

with open('workfile', 'r') as f:
    read_data = f.read()

然后,在您完成文件后,with会自动关闭它。

>>> f.closed 
True

More from the python docs

答案 1 :(得分:1)

现在,您正在尝试发送文件对象本身。您需要先从文件中读取数据,然后才能发送它。尝试替换它:

fdat = open('file.zip')

有了这个:

fdat = open('file.zip').read()

然后在下一行将fdat发送到您的网络服务。