我正在尝试通过子进程流式传输数据,将其压缩并写入文件。以下方法可行。我想知道是否可以使用Python的原生gzip库来完成此操作。
问题: 我如何使用python的gzip包来代替这个过程?我想知道为什么下面的方法返回的是文本文件(而不是压缩后的二进制版本)...非常奇怪。
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
问题: 我如何使用python的gzip包来代替这个过程?我想知道为什么下面的方法返回的是文本文件(而不是压缩后的二进制版本)...非常奇怪。
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)
bufsize
赋值以使用缓冲。 - jfs