import gzip def getContents(fn): f = file(fn, "r") r = f.readline().strip(" \t\r\n") f.close() return r def setContents(fn, s): f = file(fn, "w") f.write("%s\n" % s) f.close() def magicFile(fn, mode): f = None try: f = gzip.open(fn, mode) f.read(1) f.seek(0) return f except IOError: if not f is None: f.close() return open(fn, mode)