Find files using a simple syntax.
Project description
FileFinder
Find files using a simple syntax.
FileFinder allows to specify the structure of filenames with a simple syntax. Parts of the file structure varying from file to file can be indicated with format strings or regular expressions, or with pre-defined defaults (mainly for dates). Once setup, it can:
- Find corresponding files in a directory
- Parse information from the filenames
- Select only filenames with specific values
- Generate filenames
The package also interface easily with xarray.open_mfdataset
.
Quick examples
The following example will find all files with the structure Data/[month]/Temperature_[depth]_[date].nc
:
finder = Finder('/.../Data', '%(m)/Temperature_%(depth:fmt=d)_%(Y)%(m)%(d).nc')
files = finder.get_files()
We can also only select some files, for instance the first day of each month:
finder.fix_matcher('d', 1)
files = finder.get_files()
We can retrieve values from found files:
filename, matches = finder.files[0]
depth = matches.get_matches('depth').get_value()
date = filefinder.library.get_date(matches)
And we can generate a filename with a set of parameters:
finder.get_filename(depth=100, Y=2000, m=1, d=1)
# Specifying the day is optional since we already fixed it to 1.
Requirements
Python >= 3.7.
Installation
From pip:
pip install filefinder
From source:
git clone https://github.com/Descanonge/filefinder.git
cd filefinder
pip install -e .
Documentation
Documentation is available at filefinder.readthedocs.io.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for filefinder-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d39ac2b64bd2f31742d829c294ba06da48646f0f66647dd381c70716fa98b492 |
|
MD5 | fbbe50d98cec469b68efc531f5db377f |
|
BLAKE2b-256 | acf2b5772816a030a8f6ed46619ab92c22521b7521bb32fd63a9d29aebe07efb |