title: python subprocess with gzip
body: <p>I am trying to stream data through a subprocess, gzip it and write to a file.
  The following works. I wonder if it is possible to use python's native gzip library instead.</p>
  
  <pre><code>fid = gzip.open(self.ipFile, 'rb') # input data
  oFid = open(filtSortFile, 'wb') # output file
  sort = subprocess.Popen(args="sort | gzip -c ", shell=True, stdin=subprocess.PIPE, stdout=oFid) # set up the pipe
  processlines(fid, sort.stdin, filtFid) # pump data into the pipe
  </code></pre>
  
  <p>THE QUESTION: How do I do this instead .. where the gzip package of python is used? I'm mostly curious to know why the following gives me a text files (instead of a compressed binary version) ... very odd.</p>
  
  <pre><code>fid = gzip.open(self.ipFile, 'rb')
  oFid = gzip.open(filtSortFile, 'wb')
  sort = subprocess.Popen(args="sort ", shell=True, stdin=subprocess.PIPE, stdout=oFid)
  processlines(fid, sort.stdin, filtFid)
  </code></pre>