Skip to main content

A tool to rename directories/files that contain unsafe characters

Project description

detox

detox is a Python tool that can be used to rename directories/files with unsafe characters or spaces1.

Supported Python versions PEP8 Poetry-build

Requirements

Installation

pip install -U detoxpy

Usage

usage: detox [-h] [-r] [-R REPLACE_WITH] [-t] [-l] [-n] [-p] path [path ...]

positional arguments:
  path                  Path to a single or multiple files/directories to detox

optional arguments:
  -h, --help            show this help message and exit
  -r, --recursive       Rename files recursively
  -R REPLACE_WITH, --replace-with REPLACE_WITH
                        Replace spaces and unsafe characters with this character (default: '_')
  -t, --keep-trailing   Keep the trailing character if exists (e.g., 'foo_')
  -l, --keep-leading    Keep the leading character if exists (e.g., '_foo')
  -n, --dry-run         Do a trial run with no permanent changes
  -p, --plain-print     Print the change as plain text

Examples

Example 1: Detox a single file/directory:

detox '(foo)^bar.txt'
# '(foo)^bar.txt' --> 'foo_bar.txt'

detox 'foo&bar/'
# 'foo&bar' --> 'foo_bar'

Example 2: Detox a directory recursively:

# foo bar
# └── foo1&foo2
#     ├── foo bar (copy 1).jpg
#     └── foo bar (copy 2).jpg

detox -r 'foo bar'

# foo_bar
# └── foo1_foo2
#     ├── foo_bar_copy_1.jpg
#     └── foo_bar_copy_2.jpg

Example 3: Duplicate names after detoxing

  • detox will avoid overwriting if the detoxed name already exists. For example:
tree 'foo foo'
# foo foo
#   ├── foo^bar.jpg
#   └── foo%bar.jpg

detox -r -i 'foo foo'

# foo_foo
#   ├── foo_bar.jpg
#   └── foo_bar-1.jpg
  1. The name detox is inspired by the tool detox.

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

detoxpy-0.1.5.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

detoxpy-0.1.5-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file detoxpy-0.1.5.tar.gz.

File metadata

  • Download URL: detoxpy-0.1.5.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.13 Darwin/25.5.0

File hashes

Hashes for detoxpy-0.1.5.tar.gz
Algorithm Hash digest
SHA256 521972168842a1ccdd248ff450ac5dda05f8f0796a11a13bef22466613320445
MD5 d6feb36465fcf846855c0794c82001d3
BLAKE2b-256 835df0a0a32f013d7a2c9990e7b2096081c3973acc6fca336d81384baed781e3

See more details on using hashes here.

File details

Details for the file detoxpy-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: detoxpy-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.13 Darwin/25.5.0

File hashes

Hashes for detoxpy-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0d2fdaf068c276d7cd3befd10dba2eff228ca32e2379d5d61c33db55a9b41f49
MD5 f30b4e0b89c0334a5b52867b7a028a24
BLAKE2b-256 1f9250b62513dbaead7ce0caced1f23decbe944489a44b59a65f66adb9ed36d0

See more details on using hashes here.

Supported by

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