Python lzma.LZMAFile() Examples
The following are 30
code examples of lzma.LZMAFile().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
lzma
, or try the search function
.
Example #1
Source File: numpy_pickle_utils.py From twitter-stock-recommendation with MIT License | 6 votes |
def _write_fileobject(filename, compress=("zlib", 3)): """Return the right compressor file object in write mode.""" compressmethod = compress[0] compresslevel = compress[1] if compressmethod == "gzip": return _buffered_write_file(BinaryGzipFile(filename, 'wb', compresslevel=compresslevel)) elif compressmethod == "bz2" and bz2 is not None: return _buffered_write_file(bz2.BZ2File(filename, 'wb', compresslevel=compresslevel)) elif lzma is not None and compressmethod == "xz": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', check=lzma.CHECK_NONE, preset=compresslevel)) elif lzma is not None and compressmethod == "lzma": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', preset=compresslevel, format=lzma.FORMAT_ALONE)) else: return _buffered_write_file(BinaryZlibFile(filename, 'wb', compresslevel=compresslevel)) ############################################################################### # Joblib zlib compression file object definition
Example #2
Source File: numpy_pickle_utils.py From mlens with MIT License | 6 votes |
def _write_fileobject(filename, compress=("zlib", 3)): """Return the right compressor file object in write mode.""" compressmethod = compress[0] compresslevel = compress[1] if compressmethod == "gzip": return _buffered_write_file(BinaryGzipFile(filename, 'wb', compresslevel=compresslevel)) elif compressmethod == "bz2" and bz2 is not None: return _buffered_write_file(bz2.BZ2File(filename, 'wb', compresslevel=compresslevel)) elif lzma is not None and compressmethod == "xz": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', check=lzma.CHECK_NONE, preset=compresslevel)) elif lzma is not None and compressmethod == "lzma": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', preset=compresslevel, format=lzma.FORMAT_ALONE)) else: return _buffered_write_file(BinaryZlibFile(filename, 'wb', compresslevel=compresslevel)) ############################################################################### # Joblib zlib compression file object definition
Example #3
Source File: numpy_pickle_utils.py From abu with GNU General Public License v3.0 | 6 votes |
def _write_fileobject(filename, compress=("zlib", 3)): """Return the right compressor file object in write mode.""" compressmethod = compress[0] compresslevel = compress[1] if compressmethod == "gzip": return _buffered_write_file(BinaryGzipFile(filename, 'wb', compresslevel=compresslevel)) elif compressmethod == "bz2": return _buffered_write_file(bz2.BZ2File(filename, 'wb', compresslevel=compresslevel)) elif lzma is not None and compressmethod == "xz": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', check=lzma.CHECK_NONE, preset=compresslevel)) elif lzma is not None and compressmethod == "lzma": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', preset=compresslevel, format=lzma.FORMAT_ALONE)) else: return _buffered_write_file(BinaryZlibFile(filename, 'wb', compresslevel=compresslevel)) ############################################################################### # Joblib zlib compression file object definition
Example #4
Source File: utils.py From root-2015-tasks with GNU General Public License v3.0 | 6 votes |
def compressOpen(fn, mode='rb', compress_type=None): if not compress_type: # we are readonly and we don't give a compress_type - then guess based on the file extension compress_type = fn.split('.')[-1] if compress_type not in _available_compression: compress_type = 'gz' if compress_type == 'xz': fh = lzma.LZMAFile(fn, mode) if mode == 'w': fh = Duck(write=lambda s, write=fh.write: s != '' and write(s), close=fh.close) return fh elif compress_type == 'bz2': return bz2.BZ2File(fn, mode) elif compress_type == 'gz': return _gzipOpen(fn, mode) else: raise MDError, "Unknown compression type %s" % compress_type
Example #5
Source File: commands.py From udata with GNU Affero General Public License v3.0 | 6 votes |
def load_logos(filename): ''' Load logos from a geologos archive from <filename> <filename> can be either a local path or a remote URL. ''' if filename.startswith('http'): log.info('Downloading GeoLogos bundle: %s', filename) filename, _ = urlretrieve(filename, tmp.path('geologos.tar.xz')) log.info('Extracting GeoLogos bundle') with contextlib.closing(lzma.LZMAFile(filename)) as xz: with tarfile.open(fileobj=xz, encoding='utf8') as tar: tar.extractall(tmp.root, members=tar.getmembers()) log.info('Moving to the final location and cleaning up') if os.path.exists(logos.root): shutil.rmtree(logos.root) shutil.move(tmp.path('logos'), logos.root) log.info('Done')
Example #6
Source File: __init__.py From rpmfile with MIT License | 6 votes |
def data_file(self): """Return the uncompressed raw CPIO data of the RPM archive.""" if self._data_file is None: fileobj = _SubFile(self._fileobj, self.data_offset) if self.headers["archive_compression"] == b"xz": if not getattr(sys.modules[__name__], "lzma", False): raise NoLZMAModuleError("lzma module not present") self._data_file = lzma.LZMAFile(fileobj) elif self.headers["archive_compression"] == b"zstd": if not getattr(sys.modules[__name__], "zstandard", False): raise NoZSTANDARDModuleError("zstandard module not present") if not (sys.version_info.major >= 3 and sys.version_info.minor >= 5): raise NoBytesIOError("Need io.BytesIO (Python >= 3.5)") with zstandard.ZstdDecompressor().stream_reader(fileobj) as zstd_data: self._data_file = io.BytesIO(zstd_data.read()) else: self._data_file = gzip.GzipFile(fileobj=fileobj) return self._data_file
Example #7
Source File: numpy_pickle_utils.py From Splunking-Crime with GNU Affero General Public License v3.0 | 6 votes |
def _write_fileobject(filename, compress=("zlib", 3)): """Return the right compressor file object in write mode.""" compressmethod = compress[0] compresslevel = compress[1] if compressmethod == "gzip": return _buffered_write_file(BinaryGzipFile(filename, 'wb', compresslevel=compresslevel)) elif compressmethod == "bz2" and bz2 is not None: return _buffered_write_file(bz2.BZ2File(filename, 'wb', compresslevel=compresslevel)) elif lzma is not None and compressmethod == "xz": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', check=lzma.CHECK_NONE, preset=compresslevel)) elif lzma is not None and compressmethod == "lzma": return _buffered_write_file(lzma.LZMAFile(filename, 'wb', preset=compresslevel, format=lzma.FORMAT_ALONE)) else: return _buffered_write_file(BinaryZlibFile(filename, 'wb', compresslevel=compresslevel)) ############################################################################### # Joblib zlib compression file object definition
Example #8
Source File: utils.py From rpm-s3 with BSD 2-Clause "Simplified" License | 6 votes |
def compressOpen(fn, mode='rb', compress_type=None): if not compress_type: # we are readonly and we don't give a compress_type - then guess based on the file extension compress_type = fn.split('.')[-1] if compress_type not in _available_compression: compress_type = 'gz' if compress_type == 'xz': fh = lzma.LZMAFile(fn, mode) if mode == 'w': fh = Duck(write=lambda s, write=fh.write: s != '' and write(s), close=fh.close) return fh elif compress_type == 'bz2': return bz2.BZ2File(fn, mode) elif compress_type == 'gz': return _gzipOpen(fn, mode) else: raise MDError, "Unknown compression type %s" % compress_type
Example #9
Source File: update_frida.py From Mobile-Security-Framework-MobSF with GNU General Public License v3.0 | 5 votes |
def download_file(url): fname = url.split('/')[-1] print(f'Downloading & Extracting - {fname}') base = '../DynamicAnalyzer/tools/onDevice/frida/' dwd_file = fname.replace('.xz', '') dwd_loc = f'{base}{dwd_file}' with requests.get(url, stream=True) as r: with lzma.LZMAFile(r.raw) as f: with open(dwd_loc, 'wb') as flip: shutil.copyfileobj(f, flip)
Example #10
Source File: tarfile.py From android_universal with MIT License | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #11
Source File: rpm.py From crypto-detector with Apache License 2.0 | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, compresslevel=6): """ Open xz compressed cpio archive name for reading or writing. Appending is not allowed. """ if len(mode) > 1 or mode not in "rw": raise ValueError("mode must be 'r' or 'w'.") try: import lzma except ImportError: raise CompressionError("lzma module is not available") if fileobj is not None: fileobj = _XZProxy(fileobj, mode) else: fileobj = lzma.LZMAFile(name, mode) # options={'level': compresslevel, 'dict_size': 20 } try: t = cls.cpioopen(name, mode, fileobj) except IOError: raise ReadError("not a XZ file") t._extfileobj = False return t # All *open() methods are registered here.
Example #12
Source File: utils.py From root-2015-tasks with GNU General Public License v3.0 | 5 votes |
def xzFile(source, dest): if not 'xz' in _available_compression: raise MDError, "Cannot use xz for compression, library/module is not available" s_fn = open(source, 'rb') destination = lzma.LZMAFile(dest, 'w') while True: data = s_fn.read(1024000) if not data: break destination.write(data) destination.close() s_fn.close()
Example #13
Source File: test_tarfile.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def requires_name_attribute(self): self.skipTest("LZMAFile have no name attribute")
Example #14
Source File: tarfile.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #15
Source File: utils.py From rpm-s3 with BSD 2-Clause "Simplified" License | 5 votes |
def xzFile(source, dest): if not 'xz' in _available_compression: raise MDError, "Cannot use xz for compression, library/module is not available" s_fn = open(source, 'rb') destination = lzma.LZMAFile(dest, 'w') while True: data = s_fn.read(1024000) if not data: break destination.write(data) destination.close() s_fn.close()
Example #16
Source File: tarfile.py From jawfish with MIT License | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w"): raise ValueError("mode must be 'r' or 'w'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() raise ReadError("not an lzma file") t._extfileobj = False return t # All *open() methods are registered here.
Example #17
Source File: test_tarfile.py From ironpython3 with Apache License 2.0 | 5 votes |
def requires_name_attribute(self): self.skipTest("LZMAFile have no name attribute")
Example #18
Source File: tarfile.py From ironpython3 with Apache License 2.0 | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w"): raise ValueError("mode must be 'r' or 'w'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #19
Source File: tarfile.py From scylla with Apache License 2.0 | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #20
Source File: tarfile.py From Imogen with MIT License | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #21
Source File: test_tarfile.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def requires_name_attribute(self): self.skipTest("LZMAFile have no name attribute")
Example #22
Source File: tarfile.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #23
Source File: tarfile.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #24
Source File: test_s3.py From aws-data-wrangler with Apache License 2.0 | 5 votes |
def test_csv_compress(bucket, compression): path = f"s3://{bucket}/test_csv_compress_{compression}/" wr.s3.delete_objects(path=path) df = get_df_csv() if compression == "gzip": buffer = BytesIO() with gzip.GzipFile(mode="w", fileobj=buffer) as zipped_file: df.to_csv(TextIOWrapper(zipped_file, "utf8"), index=False, header=None) s3_resource = boto3.resource("s3") s3_object = s3_resource.Object(bucket, f"test_csv_compress_{compression}/test.csv.gz") s3_object.put(Body=buffer.getvalue()) file_path = f"s3://{bucket}/test_csv_compress_{compression}/test.csv.gz" elif compression == "bz2": buffer = BytesIO() with bz2.BZ2File(mode="w", filename=buffer) as zipped_file: df.to_csv(TextIOWrapper(zipped_file, "utf8"), index=False, header=None) s3_resource = boto3.resource("s3") s3_object = s3_resource.Object(bucket, f"test_csv_compress_{compression}/test.csv.bz2") s3_object.put(Body=buffer.getvalue()) file_path = f"s3://{bucket}/test_csv_compress_{compression}/test.csv.bz2" elif compression == "xz": buffer = BytesIO() with lzma.LZMAFile(mode="w", filename=buffer) as zipped_file: df.to_csv(TextIOWrapper(zipped_file, "utf8"), index=False, header=None) s3_resource = boto3.resource("s3") s3_object = s3_resource.Object(bucket, f"test_csv_compress_{compression}/test.csv.xz") s3_object.put(Body=buffer.getvalue()) file_path = f"s3://{bucket}/test_csv_compress_{compression}/test.csv.xz" else: file_path = f"s3://{bucket}/test_csv_compress_{compression}/test.csv" wr.s3.to_csv(df=df, path=file_path, index=False, header=None) wr.s3.wait_objects_exist(paths=[file_path]) df2 = wr.s3.read_csv(path=[file_path], names=df.columns) assert len(df2.index) == 3 assert len(df2.columns) == 10 dfs = wr.s3.read_csv(path=[file_path], names=df.columns, chunksize=1) for df3 in dfs: assert len(df3.columns) == 10 wr.s3.delete_objects(path=path)
Example #25
Source File: compress_files.py From osspolice with GNU General Public License v3.0 | 5 votes |
def open(self): return lzma.LZMAFile(self.f)
Example #26
Source File: compress_files.py From osspolice with GNU General Public License v3.0 | 5 votes |
def open(self): return lzma.LZMAFile(self.f)
Example #27
Source File: tarfile.py From kobo-predict with BSD 2-Clause "Simplified" License | 5 votes |
def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): """Open lzma compressed tar archive name for reading or writing. Appending is not allowed. """ if mode not in ("r", "w", "x"): raise ValueError("mode must be 'r', 'w' or 'x'") try: import lzma except ImportError: raise CompressionError("lzma module is not available") fileobj = lzma.LZMAFile(fileobj or name, mode, preset=preset) try: t = cls.taropen(name, mode, fileobj, **kwargs) except (lzma.LZMAError, EOFError): fileobj.close() if mode == 'r': raise ReadError("not an lzma file") raise except: fileobj.close() raise t._extfileobj = False return t # All *open() methods are registered here.
Example #28
Source File: extract.py From NiMARE with MIT License | 4 votes |
def download_peaks2maps_model(data_dir=None, overwrite=False, verbose=1): """ Download the trained Peaks2Maps model from OHBM 2018. """ url = "https://zenodo.org/record/1257721/files/ohbm2018_model.tar.xz?download=1" temp_dataset_name = 'peaks2maps_model_ohbm2018__temp' temp_data_dir = _get_dataset_dir(temp_dataset_name, data_dir=data_dir, verbose=verbose) dataset_name = 'peaks2maps_model_ohbm2018' data_dir = temp_data_dir.replace(temp_dataset_name, dataset_name) desc_file = op.join(data_dir, 'description.txt') if op.isfile(desc_file) and overwrite is False: shutil.rmtree(temp_data_dir) return data_dir LGR.info('Downloading the model (this is a one-off operation)...') # Streaming, so we can iterate over the response. r = requests.get(url, stream=True) f = BytesIO() # Total size in bytes. total_size = int(r.headers.get('content-length', 0)) block_size = 1024 * 1024 wrote = 0 for data in tqdm(r.iter_content(block_size), total=math.ceil(total_size // block_size), unit='MB', unit_scale=True): wrote = wrote + len(data) f.write(data) if total_size != 0 and wrote != total_size: raise Exception("Download interrupted") f.seek(0) LGR.info('Uncompressing the model to {}...'.format(temp_data_dir)) tarfile = TarFile(fileobj=LZMAFile(f), mode="r") tarfile.extractall(temp_data_dir) os.rename(op.join(temp_data_dir, 'ohbm2018_model'), data_dir) shutil.rmtree(temp_data_dir) with open(desc_file, 'w') as fo: fo.write('The trained Peaks2Maps model from OHBM 2018.') if verbose > 0: print('\nDataset moved to {}\n'.format(data_dir)) return data_dir
Example #29
Source File: commands.py From udata with GNU Affero General Public License v3.0 | 4 votes |
def load(filename=DEFAULT_GEOZONES_FILE, drop=False): ''' Load a geozones archive from <filename> <filename> can be either a local path or a remote URL. ''' ts = datetime.now().isoformat().replace('-', '').replace(':', '').split('.')[0] prefix = 'geozones-{0}'.format(ts) if filename.startswith('http'): log.info('Downloading GeoZones bundle: %s', filename) filename, _ = urlretrieve(filename, tmp.path(GEOZONE_FILENAME)) log.info('Extracting GeoZones bundle') with handle_error(prefix): with contextlib.closing(lzma.LZMAFile(filename)) as xz: with tarfile.open(fileobj=xz) as f: f.extractall(tmp.path(prefix)) log.info('Loading GeoZones levels') log.info('Loading levels.msgpack') levels_filepath = tmp.path(prefix + '/levels.msgpack') if drop and GeoLevel.objects.count(): name = '_'.join((GeoLevel._get_collection_name(), ts)) target = GeoLevel._get_collection_name() with switch_collection(GeoLevel, name): with handle_error(prefix, GeoLevel): total = load_levels(GeoLevel, levels_filepath) GeoLevel.objects._collection.rename(target, dropTarget=True) else: with handle_error(prefix): total = load_levels(GeoLevel, levels_filepath) log.info('Loaded {total} levels'.format(total=total)) log.info('Loading zones.msgpack') zones_filepath = tmp.path(prefix + '/zones.msgpack') if drop and GeoZone.objects.count(): name = '_'.join((GeoZone._get_collection_name(), ts)) target = GeoZone._get_collection_name() with switch_collection(GeoZone, name): with handle_error(prefix, GeoZone): total = load_zones(GeoZone, zones_filepath) GeoZone.objects._collection.rename(target, dropTarget=True) else: with handle_error(prefix): total = load_zones(GeoZone, zones_filepath) log.info('Loaded {total} zones'.format(total=total)) cleanup(prefix)
Example #30
Source File: file_reader.py From modin with Apache License 2.0 | 4 votes |
def file_open(cls, file_path, mode="rb", compression="infer"): if isinstance(file_path, str): match = S3_ADDRESS_REGEX.search(file_path) if match is not None: if file_path[0] == "S": file_path = "{}{}".format("s", file_path[1:]) import s3fs as S3FS from botocore.exceptions import NoCredentialsError s3fs = S3FS.S3FileSystem(anon=False) try: return s3fs.open(file_path) except NoCredentialsError: s3fs = S3FS.S3FileSystem(anon=True) return s3fs.open(file_path) elif compression == "gzip": import gzip return gzip.open(file_path, mode=mode) elif compression == "bz2": import bz2 return bz2.BZ2File(file_path, mode=mode) elif compression == "xz": import lzma return lzma.LZMAFile(file_path, mode=mode) elif compression == "zip": import zipfile zf = zipfile.ZipFile(file_path, mode=mode.replace("b", "")) if zf.mode == "w": return zf elif zf.mode == "r": zip_names = zf.namelist() if len(zip_names) == 1: f = zf.open(zip_names.pop()) return f elif len(zip_names) == 0: raise ValueError( "Zero files found in ZIP file {}".format(file_path) ) else: raise ValueError( "Multiple files found in ZIP file." " Only one file per ZIP: {}".format(zip_names) ) return open(file_path, mode=mode)