Module pl.dir
Listing files in directories and creating/removing directory paths.
Dependencies: pl.utils, pl.path
Soft Dependencies: alien
, ffi
(either are used on Windows for copying/moving files)
Functions
fnmatch (filename, pattern) | Test whether a file name matches a shell pattern. |
filter (filenames, pattern) | Return a list of all file names within an array which match a pattern. |
getfiles ([dirname='.'[, mask]]) | return a list of all files in a directory which match a shell pattern. |
getdirectories ([dirname='.']) | return a list of all subdirectories of the directory. |
copyfile (src, dest, flag) | copy a file. |
movefile (src, dest) | move a file. |
walk (root, bottom_up, follow_links) | return an iterator which walks through a directory tree starting at root. |
rmtree (fullpath) | remove a whole directory tree. |
makepath (p) | create a directory path. |
clonetree (path1, path2, file_fun, verbose) | clone a directory tree. |
dirtree (d) | return an iterator over all entries in a directory tree |
getallfiles ([start_path='.'[, shell_pattern='*']]) | Recursively returns all the file starting at 'path'. |
Functions
- fnmatch (filename, pattern)
-
Test whether a file name matches a shell pattern.
Both parameters are case-normalized if operating system is
case-insensitive.
Parameters:
- filename string A file name.
- pattern
string
A shell pattern. The only special characters are
'*'
and'?'
:'*'
matches any sequence of characters and'?'
matches any single character.
Returns:
-
bool
Raises:
dir and mask must be strings - filter (filenames, pattern)
-
Return a list of all file names within an array which match a pattern.
Parameters:
Returns:
-
List(string)
List of matching file names.
Raises:
dir and mask must be strings - getfiles ([dirname='.'[, mask]])
-
return a list of all files in a directory which match a shell pattern.
Parameters:
- dirname string A directory. (default '.')
- mask string A shell pattern (see fnmatch). If not given, all files are returned. (optional)
Returns:
-
{string}
list of files
Raises:
dirname and mask must be strings - getdirectories ([dirname='.'])
-
return a list of all subdirectories of the directory.
Parameters:
- dirname string A directory. (default '.')
Returns:
-
{string}
a list of directories
Raises:
dir must be a valid directory - copyfile (src, dest, flag)
-
copy a file.
Parameters:
- src string source file
- dest string destination file or directory
- flag boolean true if you want to force the copy (default)
Returns:
-
bool
operation succeeded
Raises:
src and dest must be strings - movefile (src, dest)
-
move a file.
Parameters:
Returns:
-
bool
operation succeeded
Raises:
src and dest must be strings - walk (root, bottom_up, follow_links)
-
return an iterator which walks through a directory tree starting at root.
The iterator returns (root,dirs,files)
Note that dirs and files are lists of names (i.e. you must say path.join(root,d)
to get the actual full path)
If bottom_up is false (or not present), then the entries at the current level are returned
before we go deeper. This means that you can modify the returned list of directories before
continuing.
This is a clone of os.walk from the Python libraries.
Parameters:
- root string A starting directory
- bottom_up boolean False if we start listing entries immediately.
- follow_links boolean follow symbolic links
Returns:
-
an iterator returning root,dirs,files
Raises:
root must be a directory - rmtree (fullpath)
-
remove a whole directory tree.
Symlinks in the tree will be deleted without following them.
Parameters:
- fullpath string A directory path (must be an actual directory, not a symlink)
Returns:
- true or nil
- error if failed
Raises:
fullpath must be a string - makepath (p)
-
create a directory path.
This will create subdirectories as necessary!
Parameters:
- p string A directory path
Returns:
-
true on success, nil + errormsg on failure
Raises:
failure to create - clonetree (path1, path2, file_fun, verbose)
-
clone a directory tree. Will always try to create a new directory structure
if necessary.
Parameters:
- path1 string the base path of the source tree
- path2 string the new base path for the destination
- file_fun function an optional function to apply on all files
- verbose boolean an optional boolean to control the verbosity of the output. It can also be a logging function that behaves like print()
Returns:
- true, or nil
- error message, or list of failed directory creations
- list of failed file operations
Raises:
path1 and path2 must be stringsUsage:
clonetree('.','../backup',copyfile)
- dirtree (d)
-
return an iterator over all entries in a directory tree
Parameters:
- d string a directory
Returns:
-
an iterator giving pathname and mode (true for dir, false otherwise)
Raises:
d must be a non-empty string - getallfiles ([start_path='.'[, shell_pattern='*']])
-
Recursively returns all the file starting at 'path'. It can optionally take a shell pattern and
only returns files that match 'shell_pattern'. If a pattern is given it will do a case insensitive search.
Parameters:
- start_path string A directory. (default '.')
- shell_pattern string A shell pattern (see fnmatch). (default '*')
Returns:
-
List(string)
containing all the files found recursively starting at 'path' and filtered by 'shell_pattern'.
Raises:
start_path must be a directory