Module fs
fs:get_temp_dir()
Return the name of the directory used for temporary files.
List of directories is searched to find one which the calling user can create files in. The list is:
- The directory named by the TMPDIR environment variable.
- The directory named by the TEMP environment variable.
- The directory named by the TMP environment variable.
- As a last resort, the current working directory.
fs:list_dir(path = ‘.’)
Return a list containing the names of the entries in the directory given by
path.
fs:walk_dir(path = ‘.’, (String -> Bool) dir_filter = N, files_only = 1B)
Generate the file and directory names in a directory tree under
path.
If
files_onlyis true (1B), only file names are returned.
If
dir_filteris given, then it is called for each directory and if
dir_filterreturns false (0B) for a specific directory, then
walk_dirwill not enter that directory.
fs:is_dir(path)
Return true (1B) if
pathis an existing directory (or a symbolic link pointing to a directory).
fs:is_file(path)
Return true (1B) if
pathis an existing file (or a symbolic link pointing to a file).
Why there is no fs:exists(path) function?
fs:is_symlink(path)
Return true (1B) if path refers to an existing symbolic link.
fs:file_size(path)
Return the size of the file, in bytes.
fs:create_dir(path)
Create a directory named
path.
fs:create_dirs(path)
Recursive directory creation function. Like
create_dir(), but creates all intermediate-level directories needed to contain the leaf directory.
fs:remove_file(path)
Remove (delete) the file
path.
fs:remove_dir(path)
Remove (delete) the directory
path. Only works when the directory is empty.
fs:remove_all(p)
Deletes the contents of
p(if it is a directory) and the contents of all its subdirectories, recursively, then deletes p itself. Symlinks are not followed (symlink is removed, not its target).
fs:rename(old_p, new_p)
Moves or renames the filesystem object identified by
old_pto
new_p.
fs:path:sep
The character used by the operating system to separate pathname components. This is
/for POSIX and
\for Windows.
fs:path:join(path1, path2)
Join
path1and
path2.
fs:path:dir_name(path)
Return the directory name of pathname
path(for example:
fs:path:dir_name(‘./a/b’)=
‘./a’).
fs:path:base_name(path)
Return the base name of pathname
path(for example:
fs:path:base_name(‘./a/b’)=
‘b’).
fs:path:absolute(path)
Return an absolutized version of the pathname
path.
fs:path:relative(path, base)
Return a relative filepath to
pathfrom a
basedirectory.
fs:path:split_ext(path)
Split the pathname
pathinto a pair
(root, ext)such that
root‘’ext == path, and
extis empty or begins with a period and contains at most one period.