Skip to content

Instantly share code, notes, and snippets.

@w7089
Created June 20, 2019 21:22
Show Gist options
  • Save w7089/cd53ccf29893ec05f96f3a87d7f704a2 to your computer and use it in GitHub Desktop.
Save w7089/cd53ccf29893ec05f96f3a87d7f704a2 to your computer and use it in GitHub Desktop.
demo reader
from demo_reader.compressed.bzipped import opener as bz2_opener
from demo_reader.compressed.gzipped import opener as gzip_opener
__all__ = ['bz2_opener', 'gzip_opener']
import bz2
from ..util import writer
opener = bz2.open
if __name__ == '__main__':
writer.main(opener)
import gzip
from ..util import writer
opener = gzip.open
if __name__ == '__main__':
writer.main(opener)
import os
from demo_reader.compressed import bzipped
from demo_reader.compressed import gzipped
extensions_map = {
'.gz' : gzipped.opener,
'.bz2' : bzipped.opener
}
class MultiReader:
def __init__(self, filename):
ext = os.path.splitext(filename)[1]
opener = extensions_map.get(ext, open)
self.f = opener(filename, 'rt')
def close(self):
self.f.close()
def read(self):
return self.f.read()
import sys
def main(opener):
f = opener(sys.argv[1], mode='wt')
f.write(''.join(sys.argv[2:]))
f.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment