怎么设置python,使得由sys.stdout.write输出的是二进制格式

wengzhong 2007-03-14 11:14:35
我在写一段web 服务器的代码
当浏览器请求 图象等格式的时候,需要向浏览器传送二进制文件
也就是需要向标准输出流中 传递从图片读出来二进制格式数据

区别在 '\r\n'上,我现在是在windows平台上开发,必须设置一下流的输出方式
但是不知道怎么设置才行。

我用的python 2.5
以前的文档中说有这个方法,但是在2。5里没有
msvcrt.setmode(sys.stdout.fileno(),os.O_BINARY)

import sys
import msvcrt
import os
import cgi

#msvcrt.setmode(sys.stdout.fileno(),os.O_BINARY)

pic = open('.\\images\\winxp.gif','rb')
print 'Content-Type: image/gif \n\n'
print

picdata = pic.read()
sys.stdout.write(picdata)
pic.close()
...全文
736 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2007-03-15
  • 打赏
  • 举报
回复
2.5应该也有sys.stdout.fileno()啊。
iambic 2007-03-15
  • 打赏
  • 举报
回复
晕……
0代表stdin,1代表stdout,2代表stderr,试下:

msvcrt.setmode(1, os.O_BINARY)

祝你好运
wengzhong 2007-03-15
  • 打赏
  • 举报
回复
是没有这个 sys.stdout.fileno()

不知道有没有将sys.stdout设为binary模式的方法

iambic 2007-03-15
  • 打赏
  • 举报
回复
2.5不能用msvcrt.setmode?

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧