get_archived_rio_path#
- get_archived_rio_path(archive_path: str | CloudPath | Path, regex: str, as_list: bool = False, file_list: list | None = None, **kwargs) list | CloudPath | Path [source]#
Get archived file path from inside the archive, to be read with rasterio:
zip+file://{zip_path}!{file_name}
tar+file://{tar_path}!{file_name}
See here for more information.
Warning
It wont be readable by pandas, geopandas or xmltree !
Warning
If
as_list
isFalse
, it will only return the first file matched !You can use this site to build your regex.
- Parameters:
archive_path (AnyPathStrType) – Archive path
regex (str) – File regex (used by re) as it can be found in the getmembers() list
as_list (bool) – If true, returns a list (including all found files). If false, returns only the first match
file_list (list) – List of files contained in the archive. Optional, if not given it will be re-computed.
- Returns:
Band path that can be read by rasterio
- Return type:
Example
>>> arch_path = 'D:/path/to/zip.zip' >>> file_regex = '.*dir.*file_name' # Use .* for any character >>> path = get_archived_tif_path(arch_path, file_regex) 'zip+file://D:/path/to/output.zip!dir/filename.tif' >>> rasterio.open(path) <open DatasetReader name='zip+file://D:/path/to/output.zip!dir/filename.tif' mode='r'>