Skip to main content

Filelister is a Python package that makes working with filelists (yes, lists of files) easy.

Project description

Filelister

Filelister is a Python package that makes working with filelists (yes, lists of files) easy.

import filelister as fs

Basic Usage

Creating a Filelist

From Data

You can create a Filelist object from a list, set, tuple, Filelist object, or path to directory.

my_filelist = fs.Filelist(['../file_01.jpg', '../file_02.jpg'])

my_other_filelist = fs.Filelist('path/to/directory/')

From System Files

You can also create a Filelist object by reading from a filelist saved on your system.

my_filelist = fs.read_filelist('path/to/filelist.txt')

Working with Filelists

Manipulating a Filelist

Filelists support a number of conversions, including conversions to a native python list, to a relative filelist, and to an absolute filelist.

my_filelist.to_list()

my_filelist.to_abs()

my_filelist.to_rel()

These commands can also be chained:

my_filelist.to_abs().to_list()

In and Contains

Filelists support a cointains method, as well as the python in operator.

my_filelist.contains('path/to/file')

'path/to/file' in my_filelist

Indexing and Slicing

A filelist can also be indexed and sliced like a normal python list. This will always return a native python list.

my_filelist[1] == 'path/to/file.txt'

my_filelist[:3] == ['path/to/file01.txt', 'path/to/file02.txt', 'path/to/file03.txt']

Saving a Filelist

Arguments

outfile: specify a path to the location in which to write the filelist. output_type: specify the type of filelist to write. Options include 'abs', 'rel', and 'na' (see below). compressed: accepts a boolean. Pass compressed=True to write a compressed filelist.

Usage

my_filelist.save('filelists/my_filelist.txt', output_type='abs', compressed=True)

Note that when saving a relative filelist, the filepaths are converted to be relative to the location of the filelist.

Compression

A filelist can be stored using custom zlib compression by using

my_filelist.save(outfile='compressed_filelist.zz', compressed=True)

This filelist can then be read using

fs.read_filelist('compressed_filelist.zz', compressed=True)

Due to the nature of the compression, a compressed filelist should only be read by filelister.

Types of Filelists

Filelister supports three formats of filelists: Absolute, Relative, and "na"

Absolute

abs refers to an absolute filelist

['path/to/file_01.txt', 'path/to/file_02.txt', 'path/to/file_03.txt']

Relative

rel refers to a relative filelists

['../file_01.txt', '../file_02.txt', '../file_03.txt']

na

na refers to a filelist that is stored with no context, where filepaths are ignored and only filenames are stored

['file_01.txt', 'file_02.txt', 'file_03.txt']

Installation

pip (PyPi)

pip install filelister

Anaconda

Coming soon

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

filelister-0.0.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

filelister-0.0.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file filelister-0.0.1.tar.gz.

File metadata

  • Download URL: filelister-0.0.1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0b3 CPython/3.8.13 Linux/5.4.0-124-generic

File hashes

Hashes for filelister-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d345d93155e55019f9740ad013789be056f8212a5f6941a0ec2f7323777cd475
MD5 907268028de6ef5c232b0488dd265d9d
BLAKE2b-256 b633a993096405c0102e6093d0d5a2e410d88f0f9af6b515513a16664ed10645

See more details on using hashes here.

File details

Details for the file filelister-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: filelister-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0b3 CPython/3.8.13 Linux/5.4.0-124-generic

File hashes

Hashes for filelister-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12491411b4df212b8c28baa33cafcba3b33be920d86a51187978b51807eaf38b
MD5 7da769ce3d6abdfa2876b71d52a39774
BLAKE2b-256 311d328d13f11a89822efc135a3c0b64149c7f9a3a3a882b15c0dffe526b0240

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page