gpt4 book ai didi

Python 2.x - 将二进制输出写入标准输出?

转载 作者:太空狗 更新时间:2023-10-30 01:38:06 26 4
gpt4 key购买 nike

有没有办法在 Python 2.x 中将二进制输出写入 sys.stdout?在 Python 3.x 中,您可以只使用 sys.stdout.buffer(或分离 stdout 等...),但我还没有找到适用于 Python 2.5/2.6 的任何解决方案。

编辑:我正在尝试将 PDF 文件(二进制格式)推送到标准输出以在网络服务器上提供服务。当我尝试使用 sys.stdout.write 写入文件时,它会向二进制流添加各种回车符,导致 PDF 呈现损坏。

编辑 2:不幸的是,对于这个项目,我需要在 Windows 服务器上运行,所以 Linux 解决方案已经出局。

简单的虚拟示例(从磁盘上的文件读取,而不是即时生成,只是为了让我们知道生成代码不是问题所在):

file = open('C:\\test.pdf','rb') 
pdfFile = file.read()
sys.stdout.write(pdfFile)

最佳答案

你在哪个平台上?

你可以试试 this recipe如果您使用的是 Windows(该链接表明它是特定于 Windows 的)。

if sys.platform == "win32":
import os, msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

网络上有一些引用资料表明 Python 3.1 中会/应该有一个函数以二进制模式重新打开 sys.stdout 但我真的不知道是否有更好的选择以上为 Python 2.x。

关于Python 2.x - 将二进制输出写入标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25862805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com