No project description provided
Project description
py-rename
Python bulk rename package
Usage
enter py-rename -h
for help
$ py-rename -h
py-rename - Python rename tool for multiple files
Usage:
py-rename [OPTIONS] COMMAND [COMMAND-OPTIONS]
Positional arguments:
rename rename files based on regex pattern
match rename files based on regex pattern
prefix prefix filenames with prefix string
postfix postfix filenames with prefix string
lower convert filenames to lowercase
replace replace spaces in filenames to _
camelcase convert filenames to camel case
Options:
-h, --help show this help message and exit
-V, --version show program version number and exit
-s, --silent do not print output (default: False)
-n, --dryrun Dry run: print names of files to be renamed, but do not
rename (default: False)
-f, --full Match only full filename against pattern (default:
False)
Subcommand usage example:
$ py-rename rename -h
Positional arguments:
pattern regex pattern to match filenames
replacement replacement regex pattern for renamed files
Options:
-h, --help show this help message and exit
Installation
pip3 install py-rename
Requirements:
- Python 3.6 (or higher)
Examples
Example 1 - Renaming based on regex
Imagine you have some files awfully named like this:
ab12+Red+(0000).txt
ab12+Red+(0001).txt
ab12+Red+(0002).txt
and you want to rename all of them in manner 01-Red.txt
(extracting number from the end and put it at the beginning and shortening it to 2 digits).
Step 1: Test matching pattern
Regex pattern to match those files and extract 2 digit number should be like this: .+\(00(\d{2})\).+
$ py-rename match ".+\(00(\d{2})\).+"
('matched ab12+Red+(0000).txt',)
('matched ab12+Red+(0001).txt',)
('matched ab12+Red+(0002).txt',)
('files matched: 3',)
Step 2: Test replacement pattern using dryrun flag
$ py-rename -n rename ".+\(00(\d{2})\).+" "\1-Red.txt"
Performing DryRun: No actions will be taken
('renaming: ab12+Red+(0000).txt --> 00-Red.txt',)
('renaming: ab12+Red+(0001).txt --> 01-Red.txt',)
('renaming: ab12+Red+(0002).txt --> 02-Red.txt',)
('files matched: 3',)
Step 3: Actual renaming
$ py-rename rename ".+\(00(\d{2})\).+" "\1-Red.txt"
('renaming: ab12+Red+(0000).txt --> 00-Red.txt',)
('renaming: ab12+Red+(0001).txt --> 01-Red.txt',)
('renaming: ab12+Red+(0002).txt --> 02-Red.txt',)
('files matched: 3',)
Example 2 - Add prefix string or postfix string to files
Imagine you have some files named like this:
00-Red.txt
01-Red.txt
02-Red.txt
Add prefix string:
$ py-rename prefix "test_"
('renaming: 00-Red.txt --> test_00-Red.txt',)
('renaming: 01-Red.txt --> test_01-Red.txt',)
('renaming: 02-Red.txt --> test_02-Red.txt',)
('files matched: 3',)
Add postfix string:
$ py-rename postfix "_test"
('renaming: 00-Red.txt --> 00-Red_test.txt',)
('renaming: 01-Red.txt --> 01-Red_test.txt',)
('renaming: 02-Red.txt --> 02-Red_test.txt',)
('files matched: 3',)
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
py-rename-1.1.0.tar.gz
(7.8 kB
view hashes)
Built Distribution
Close
Hashes for py_rename-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d3193fefcd7edc96c94bbe85416a11b92fd7cab857290553b0fb1a6c68a830d |
|
MD5 | f87977e9dced9f388772c89de392ec89 |
|
BLAKE2b-256 | c22e8a5847daae5be3f57a332b9104e38b79ea988dd67b641d874c3ce89322ec |