我正在将可能很大的文件上传到Web服务器.目前我这样做:
import urllib2
f = open('somelargefile.zip','rb')
request = urllib2.Request(url,f.read())
request.add_header("Content-Type", "application/zip")
response = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
但是,这会在发布之前将整个文件的内容读入内存.我怎样才能将文件流式传输到服务器?
我正在尝试base64编码包含泰语字符的utf8字符串.我正在使用浏览器的内置btoa功能.它适用于ascii文本,但Thai会导致它抛出INVALID_CHARACTER_ERR: DOM Exception 5异常.
这是一个失败的样本(看起来像"n"的字符是泰语)
btoa('a?')
我需要做什么来base64编码非ascii字符串?
我需要创建任意大小的文件,不包含数据.可能非常大.虽然我可以循环并编写一个空字符,直到我达到文件大小,这似乎很难看.
with open(filename,'wb') as f:
# what goes here?
Run Code Online (Sandbox Code Playgroud)
什么是高效,pythonic的方式来做到这一点?