Find files using a simple syntax.
Project description
FileFinder
Find files using a simple syntax.
FileFinder allows to specify the structure of filenames using a simple syntax. Parts of the file structure varying from file to file are indicated within named groups, either with format strings or regular expressions (with some pre-defined values for some names). Once setup, it can:
- Find corresponding files in a directory (and sub-directories)
- Parse values from the filenames
- Select only filenames with specific values
- Generate filenames
Quick examples
The following example will find all files with the structure Data/param_[parameter]/Temperature_[date].nc
:
finder = Finder('/.../Data', 'param_%(parameter:fmt=.1f)/%(Y)/Temperature_%(Y)%(m)%(d).nc')
files = finder.get_files()
We can also select only some files, for instance only in january:
finder.fix_group('m', 1)
files = finder.get_files()
We can retrieve values from found files:
filename, matches = finder.files[0]
parameter = matches["parameter"]
# the date as a datetime object
date = filefinder.library.get_date(matches)
And we can generate a filename with a set of parameters:
finder.make_filename(parameter=0.5, Y=2000, m=1, d=1)
# Specifying the month is optional since we already fixed it to 1.
Requirements
Python >= 3.10
Installation
From pip:
pip install filefinder
From source:
pip install -e https://github.com/Descanonge/filefinder.git#egg=filefinder
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-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7422db22d4edc9ab4f1a30184a9463f8f93a6dbc8f13f8fb003958f29942b8e |
|
MD5 | b480cf39d6e82bae3e9ddad41fcc705e |
|
BLAKE2b-256 | 189f2ba356af2f971b6d8192b93e727d9515f3af7d3cabfd7c8b983a869ad2cb |