pathtools33
Pathtools documentation python api library for common path and pattern functionality.
Easy installation
You can use pip to install pathtools quickly and easily:
$ pip install pathtools
API reference
pathtools.path
|
pathtools.path |
|---|---|
|
Directory walking, listing, and path sanitizing functions. |
|
Yesudeep Mangalapilly <[email protected]> |
Functions
- pathtools.path.get_dir_walker(recursive, topdown=True, followlinks=False)
-
Returns a recursive or a non-recursive directory walker.
Parameters-
recursive--Trueproduces a recursive walker;Falseproduces a non-recursive walker.
Returns-
A walker function.
- pathtools.path.walk(dir_pathname, recursive=True, topdown=True, followlinks=False)
-
Walks a directory tree optionally recursively. Works exactly like
os.walk()only adding the recursive argument.Parameters-
- •
-
dir_pathname-- The directory to traverse.
- •
-
recursive--Truefor walking recursively through the directory tree;Falseotherwise.
- •
-
topdown-- Please see the documentation foros.walk()
- •
-
followlinks-- Please see the documentation foros.walk()
- pathtools.path.listdir(dir_pathname, recursive=True, topdown=True, followlinks=False)
-
Enlists all items using their absolute paths in a directory, optionally recursively.
Parameters-
- •
-
dir_pathname-- The directory to traverse.
- •
-
recursive--Truefor walking recursively through the directory tree;Falseotherwise.
- •
-
topdown-- Please see the documentation foros.walk()
- •
-
followlinks-- Please see the documentation foros.walk()
- pathtools.path.list_directories(dir_pathname, recursive=True, topdown=True, followlinks=False)
-
Enlists all the directories using their absolute paths within the specified directory, optionally recursively.
Parameters-
- •
-
dir_pathname-- The directory to traverse.
- •
-
recursive--Truefor walking recursively through the directory tree;Falseotherwise.
- •
-
topdown-- Please see the documentation foros.walk()
- •
-
followlinks-- Please see the documentation foros.walk()
- pathtools.path.list_files(dir_pathname, recursive=True, topdown=True, followlinks=False)
-
Enlists all the files using their absolute paths within the specified directory, optionally recursively.
Parameters-
- •
-
dir_pathname-- The directory to traverse.
- •
-
recursive--Truefor walking recursively through the directory tree;Falseotherwise.
- •
-
topdown-- Please see the documentation foros.walk()
- •
-
followlinks-- Please see the documentation foros.walk()
pathtools.path.absolute_path(path)-
Returns the absolute path for the given path and normalizes the path.
Parameters-
path-- Path for which the absolute normalized path will be found.
Returns-
Absolute normalized path.
pathtools.path.real_absolute_path(path)-
Returns the real absolute normalized path for the given path.
Parameters-
path-- Path for which the real absolute normalized path will be found.
Returns-
Real absolute normalized path.
pathtools.path.parent_dir_path(path)-
Returns the parent directory path.
Parameters-
path-- Path for which the parent directory will be obtained.
Returns-
Parent directory path.
pathtools.patterns
|
pathtools.patterns |
|---|---|
|
Wildcard pattern matching and filtering functions for paths. |
|
Yesudeep Mangalapilly <[email protected]> |
Functions
- pathtools.patterns.match_path(pathname, included_patterns=None, excluded_patterns=None, case_sensitive=True)
-
Matches a pathname against a set of acceptable and ignored patterns.
Parameters-
- •
-
pathname-- A pathname which will be matched against a pattern.
- •
-
included_patterns-- Allow filenames matching wildcard patterns specified in this list. If no pattern is specified, the function treats the pathname as a match_path.
- •
-
excluded_patterns-- Ignores filenames matching wildcard patterns specified in this list. If no pattern is specified, the function treats the pathname as a match_path.
- •
-
case_sensitive--Trueif matching should be case-sensitive;Falseotherwise.
Returns-
Trueif the pathname matches;Falseotherwise.
Raises-
ValueError if included patterns and excluded patterns contain the same pattern.
Doctests::-
>>> match_path("/Users/gorakhargosh/foobar.py") True >>> match_path("/Users/gorakhargosh/foobar.py", case_sensitive=False) True >>> match_path("/users/gorakhargosh/foobar.py", ["*.py"], ["*.PY"], True) True >>> match_path("/users/gorakhargosh/FOOBAR.PY", ["*.py"], ["*.PY"], True) False >>> match_path("/users/gorakhargosh/foobar/", ["*.py"], ["*.txt"], False) False >>> match_path("/users/gorakhargosh/FOOBAR.PY", ["*.py"], ["*.PY"], False) Traceback (most recent call last): ... ValueError: conflicting patterns `set(['*.py'])` included and excluded
- pathtools.patterns.match_path_against(pathname, patterns, case_sensitive=True)
-
Determines whether the pathname matches any of the given wildcard patterns, optionally ignoring the case of the pathname and patterns.
Parameters-
- •
-
pathname-- A path name that will be matched against a wildcard pattern.
- •
-
patterns-- A list of wildcard patterns to match_path the filename against.
- •
-
case_sensitive--Trueif the matching should be case-sensitive;Falseotherwise.
Returns-
Trueif the pattern matches;Falseotherwise.
Doctests::-
>>> match_path_against("/home/username/foobar/blah.py", ["*.py", "*.txt"], False) True >>> match_path_against("/home/username/foobar/blah.py", ["*.PY", "*.txt"], True) False >>> match_path_against("/home/username/foobar/blah.py", ["*.PY", "*.txt"], False) True >>> match_path_against("C:\windows\blah\BLAH.PY", ["*.py", "*.txt"], True) False >>> match_path_against("C:\windows\blah\BLAH.PY", ["*.py", "*.txt"], False) True
- pathtools.patterns.filter_paths(pathnames, included_patterns=None, excluded_patterns=None, case_sensitive=True)
-
Filters from a set of paths based on acceptable patterns and ignorable patterns.
Parameters-
- •
-
pathnames-- A list of path names that will be filtered based on matching and ignored patterns.
- •
-
included_patterns-- Allow filenames matching wildcard patterns specified in this list. If no pattern list is specified, ["*"] is used as the default pattern, which matches all files.
- •
-
excluded_patterns-- Ignores filenames matching wildcard patterns specified in this list. If no pattern list is specified, no files are ignored.
- •
-
case_sensitive--Trueif matching should be case-sensitive;Falseotherwise.
Returns-
A list of pathnames that matched the allowable patterns and passed through the ignored patterns.
Doctests::-
>>> pathnames = set(["/users/gorakhargosh/foobar.py", "/var/cache/pdnsd.status", "/etc/pdnsd.conf", "/usr/local/bin/python"]) >>> set(filter_paths(pathnames)) == pathnames True >>> set(filter_paths(pathnames, case_sensitive=False)) == pathnames True >>> set(filter_paths(pathnames, ["*.py", "*.conf"], ["*.status"], case_sensitive=True)) == set(["/users/gorakhargosh/foobar.py", "/etc/pdnsd.conf"]) True
Found a bug in or want a feature added to pathtools? You can fork the official code repository or file an issue ticket at the issue tracker.
•
|
Index |
|---|---|
•
|
Module Index |
•
|
Search Page |
Releases
5 releases since Debian 9 (Stretch); the text changed 3 times.