Skip to main content

A Python library to validate/sanitize a string such as filenames/file-paths/variable-names/excel-sheet-names.

Project description

pathvalidate

https://badge.fury.io/py/pathvalidate.svg https://img.shields.io/pypi/pyversions/pathvalidate.svg Linux CI test status Windows CI test status https://coveralls.io/repos/github/thombashi/pathvalidate/badge.svg?branch=master https://img.shields.io/github/stars/thombashi/pathvalidate.svg?style=social&label=Star

Summary

A Python library to validate/sanitize a string such as filenames/file-paths/variable-names/excel-sheet-names.

Features

  • Validate/Sanitize a string:

Examples

Validate a filename

Sample Code:
import pathvalidate

try:
    pathvalidate.validate_filename("\0_a*b:c<d>e%f/(g)h+i_0.txt")
except ValueError:
    print("invalid filename!")
Output:
invalid filename!

Sanitize a filename

Sample Code:
import pathvalidate as pv

print(pv.sanitize_filename("f\\i:l*e?n\"a<m>e|.txt"))
print(pv.sanitize_filename("_a*b:c<d>e%f/(g)h+i_0.txt"))
Output:
_abcde%f(g)h+i_0.txt

Sanitize a filepath

Sample Code:
import pathvalidate as pv

print(pv.sanitize_filepath("fi:l*e/p\"a?t>h|.t<xt"))
print(pv.sanitize_filepath("_a*b:c<d>e%f/(g)h+i_0.txt"))
Output:
file/path.txt
_abcde%f/(g)h+i_0.txt

Sanitize a variable name

Sample Code:
import pathvalidate as pv

print(pv.sanitize_python_var_name("_a*b:c<d>e%f/(g)h+i_0.txt"))
Output:
abcdefghi_0txt

For more information

More examples are available at http://pathvalidate.rtfd.io/en/latest/pages/examples/index.html

Installation

pip install pathvalidate

Dependencies

Python 2.7+ or 3.4+ No external dependencies.

Test dependencies

Documentation

http://pathvalidate.rtfd.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

pathvalidate-0.21.1.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

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

pathvalidate-0.21.1-py2.py3-none-any.whl (17.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pathvalidate-0.21.1.tar.gz.

File metadata

  • Download URL: pathvalidate-0.21.1.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for pathvalidate-0.21.1.tar.gz
Algorithm Hash digest
SHA256 3b48535e5e9faa1f7d3aa163e377603d6031ae6ea61b5f478aea1d59f47e5b98
MD5 e760cf877b927c6dabd2ea7463b7c092
BLAKE2b-256 3987588bf97d070b23cd20533adf61f5eeb3237900de4d5ebde75189a680250d

See more details on using hashes here.

File details

Details for the file pathvalidate-0.21.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pathvalidate-0.21.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for pathvalidate-0.21.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d31eb630b9b6a9c68487dbdd3c57948e8bba61d3615dae720c978e7ce6f16d9a
MD5 3a9c25d48c937049f6a1913487555394
BLAKE2b-256 f8ff3f6c14cc3b4d28b0011cbf97d70bed788efc4c28c51d39e441d728d4c0f1

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