我有以下代码:
def application(env, start_response):
path = process(env)
fh = open(path,'r')
start_response('200 OK', [('Content-Type','application/octet-stream')])
return fbuffer(fh,10000)
def fbuffer(f, chunk_size):
'''Generator to buffer file chunks'''
while True:
chunk = f.read(chunk_size)
if not chunk: break
yield chunk
我不确定这是否正确,但是我在互联网上发现的信息残片使我认为它应该起作用。基本上,我想分块地流式传输文件,为此,我要从应用程序函数传回一个生成器。但是,这仅打印出标题,而实际上没有发送回任何数据,有人可以告诉我为什么吗?
或者,如果这是完全错误的,那么执行此操作的最佳方法是什么?我无法将整个文件缓冲在内存中,因为我将要使用的文件可能是千兆字节。
第三级问题:一旦完成输出,关闭文件的最佳方法是什么?在我发布的代码中,我仍然看不到实际上关闭该文件。
(我正在使用uWSGI 1.2.4运行python 3.2.3)
如果不加注意,uwsgi会小心谨慎,以免 泄漏
错误,但是如果您在更严格的实现中运行应用程序,例如python附带的实现wsgiref.simple_server
,您会更容易看到问题。
Serving <function application at 0xb65848> http://0.0.0.0:8000
Traceback (most recent call last):
File "/usr/lib64/python3.2/wsgiref/handlers.py", line 138, in run
self.finish_response()
File "/usr/lib64/python3.2/wsgiref/handlers.py", line 179, in finish_response
self.write(data)
File "/usr/lib64/python3.2/wsgiref/handlers.py", line 264, in write
"write() argument must be a bytes instance"
AssertionError: write() argument must be a bytes instance
localhost.localdomain - - [04/Aug/2012 16:27:08] "GET / HTTP/1.1" 500 59
问题是wsgi要求必须以HTTP身份传输往返HTTP网关的数据bytes
,但是当您使用时open(path, 'r')
,python
3会str
使用默认编码方便地将读取的数据转换为unicode,在python 3中是这样。
改变
fh = open(path, 'r')
至
fh = open(path, 'rb')
# ^
解决它。
嗨,我是NetBeans IDE的新手,我正在使用NetBeans GUI构建器创建我的GUI。我正在创建新文件,方法是右键单击包,单击new然后单击new JFrame Form。它工作得很好。但是我有一个带有JFrame的java文件,我可以通过编码手动创建它,我可以将它导入到GUI构建器中,这样我就可以拖放和创建GUI了。如果是,我该怎么做?(在eclipse中,我们可以右键单击该文件,然后
我只是将代码从swagger代码生成器迁移到open api代码生成器。我通过maven插件使用生成器。我需要它为一个外部API(在我的控制之外)生成一个客户端,这里给出了使用的swagger文件。 我的插件设置如下: 为了有一个最小的例子,我把昂首阔步的来源去掉了: 当生成器运行正常时,代码无效 结果列表«GenericRow»完全错误。 另一方面,类的名称是正确生成的只有变量名称处理错误。 如
我对Google Sceneform工具生成的对象有问题(测试版) v1。Android Studio中的13.0。 我从poly下载了对象(.obj文件),并导入Blender以更改尺寸。之后再次出口。obj文件。 当我用它来生成。Android Studio中的sfb文件和Sceneform工具。生成的sfb对象仅为黑色。 左边是在Blender中导入的对象(.obj和.mtl),右边是生
问题内容: 我想制作一个Java swing应用程序,从中我可以生成保存相同数据的xml文件,并且生成的文件数将由用户决定。我的xml文件包含xml模式,而我的xml文件结构看起来像这样 如果有人提供一些代码片段帮助,我是Java新手,它将对我有更大的帮助。 我想生成保存示例XML中给出的xml模式的xml文件。 问题答案: 在Java中,您使用JAXP处理XML。您使用与DOM相关的类来生成xm
问题内容: 我正在使用selenium / phantomjs在python中创建html的png文件。有没有办法从html字符串或文件句柄(而不是网站)生成png?我已经搜索了selenium文档,并用谷歌搜索,但是找不到答案。我有: 问题答案: 幻影 这是在phantomJS中获取屏幕截图的方法,我已经使用phantomJS一段时间了。 您可以在此处找到更多信息。 硒 希望这可以帮助。
下面是我的cmakelists.txt文件 cmake_minimum_required(版本3.4.1) find_library(log-lib日志) target_link_libraries(native-lib${log-lib}) 我在中指定了,,因为我想要一个共享的对象库。 但它没有给我so文件。 我错过了什么?