Usage Examples

replace_pattern

from FileJanitor import replace_pattern

replace_pattern("_", " & ", "docs/") # Renames files like: "file_janitors.txt" -> "file & janitors.txt"
replace_pattern("_", " ")  # Uses current directory, renames files like: "my_file.txt" -> "my file.txt"

Before:

docs/
├── file_janitors.txt
├── report_v1_final.pdf
└── my_file.txt

After:

docs/
├── file & janitors.txt
├── report & v1 & final.pdf
└── my & file.txt

standardize_filename

from FileJanitor import standardize_filename

standardize_filename("data/", case="title", sep="-") # Renames files in data/ like: "my file NAME.txt" -> "My-File-Name.txt"

Before:

data/
├── my file NAME.txt
├── Another_Report.csv
└── messy  name--file.pdf

After:

data/
├── My-File-Name.txt
├── Another-Report.csv
└── Messy-Name-File.pdf

index_files

from FileJanitor import index_files

index_files("my_thesis", order = ["intro.pdf", "analysis.pdf", "discussion.pdf", "conclusions.pdf"])

Before:

my_thesis/
├── discussion.pdf
├── intro.pdf
├── conclusions.pdf
└── analysis.pdf

After:

my_thesis/
├── 01_intro.pdf
├── 02_analysis.pdf
├── 03_discussion.pdf
└── 04_conclusions.pdf

flatten

from FileJanitor import flatten

flatten("data/", recursive=True)

Before:

cwd/
├── data/
   ├── raw/
   │   └── file1.csv
   └── processed/
       └── file2.csv

After:

cwd/
├── file1.csv
├── file2.csv