title: Python 2.x - Write binary output to stdout?
body: <p>Is there any way to write binary output to sys.stdout in Python 2.x? In Python 3.x, you can just use sys.stdout.buffer (or detach stdout, etc...), but I haven't been able to find any solutions for Python 2.5/2.6. </p>
  
  <p>EDIT, <strong>Solution</strong>:
  From ChristopheD's link, below:</p>
  
  <pre><code>import sys
  
  if sys.platform == "win32":
      import os, msvcrt
      msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
  </code></pre>
  
  <p>EDIT: I'm trying to push a PDF file (in binary form) to stdout for serving up on a web server. When I try to write the file using sys.stdout.write, it adds all sorts of carriage returns to the binary stream that causes the PDF to render corrupt.</p>
  
  <p>EDIT 2: For this project, I need to run on a Windows Server, unfortunately, so Linux solutions are out.</p>
  
  <p>Simply Dummy Example (reading from a file on disk, instead of generating on the fly, just so we know that the generation code isn't the issue):</p>
  
  <pre><code>file = open('C:\\test.pdf','rb') 
  pdfFile = file.read() 
  sys.stdout.write(pdfFile)
  </code></pre>