Skip to content

Latest commit

 

History

History
275 lines (183 loc) · 6.68 KB

README.md

File metadata and controls

275 lines (183 loc) · 6.68 KB

path

path provides functions to manipulate directories and file paths. It is inspired by pathlib module from Mojo.

Functions

abs(path) string

Returns an absolute representation of path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique.

Parameters

name type description
path string The file path to be converted to its absolute form

Examples

basic

Convert a relative path to an absolute path.

load("path", "abs")
p = abs('.')
print(p)
# Output: '/current/absolute/path'

join(path, *paths) string

Joins one or more path elements into a single path intelligently, separating them with an OS specific separator. Empty elements are ignored.

Parameters

name type description
paths... string The path elements to be joined

Examples

basic

Join multiple path parts.

load("path", "join")
p = join('a', 'b', 'c')
print(p)
# Output: 'a/b/c'

exists(path) bool

Returns true if the path exists.

Parameters

name type description
path string The path to be checked

Examples

basic

Check if a path exists.

load("path", "exists")
p = exists('path_test.go')
print(p)
# Output: True

is_file(path) bool

Returns true if the path exists and is a file.

Parameters

name type description
path string The path to be checked

Examples

basic

Check if a path is a file.

load("path", "is_file")
p = is_file('path_test.go')
print(p)
# Output: True

is_dir(path) bool

Returns true if the path exists and is a directory.

Parameters

name type description
path string The path to be checked

Examples

basic

Check if a path is a directory.

load("path", "is_dir")
p = is_dir('.')
print(p)
# Output: True

is_link(path) bool

Returns true if the path exists and is a symbolic link.

Parameters

name type description
path string The path to be checked

Examples

basic

Check if a path is a symbolic link.

load("path", "is_link")
p = is_link('link_to_path_test.go')
print(p)
# Output: False

listdir(path, recursive=False, filter=None) []string

Returns a list of directory contents. Optionally applies a filter function to each path to decide inclusion in the final list.

Parameters

name type description
path string The directory path to be listed
recursive bool If true, list contents recursively
filter callable A callable object (e.g., lambda or function) that takes a single argument (a path) and returns a boolean value. Paths for which the filter function returns False are excluded from the result list.

Examples

basic

List directory contents.

load("path", "listdir")
p = listdir('.')
print(p)
# Output: ['file1', 'file2', ...]

recursive

List directory contents recursively.

load("path", "listdir")
p = listdir('.', True)
print(p)
# Output: ['file1', 'file2', 'subdir/file3', ...]

filtered

List directory contents with a filter function.

load("path", "listdir")
is_not_go_file = lambda p: not p.endswith('.go')
p = listdir('.', filter=is_not_go_file)
print(p)
# Output: ['file1.py', 'file2.txt', ...]

filtered_recursive

List directory contents recursively with a filter function.

load("path", "listdir")
is_not_go_file = lambda p: not p.endswith('.go')
p = listdir('.', True, filter=is_not_go_file)
print(p)
# Output: ['file1.py', 'file2.txt', 'subdir/file3']

getcwd() string

Returns the current working directory.

Examples

basic

Get the current working directory.

load("path", "getcwd")
p = getcwd()
print(p)
# Output: '/current/directory'

chdir(path)

Changes the current working directory.

Parameters

name type description
path string The path to the new current directory

Examples

basic

Change the current working directory.

load("path", "chdir")
chdir('/new/directory')
# Current directory is now '/new/directory'

mkdir(path, mode=0o755)

Creates a directory with the given name. If the directory already exists, no error is thrown. It's capable of creating nested directories.

Parameters

name type description
path string The directory path to be created
mode int The file mode (permissions) to use for the newly-created directory, represented as an octal number. Defaults to 0755.

Examples

default

Create a new directory.

load("path", "mkdir")
mkdir('new_directory')
# New directory named 'new_directory' is created with default permissions

permission

Create a new directory with specific permissions.

load("path", "mkdir")
mkdir('secure_directory', 0o700)
# New directory named 'secure_directory' is created with permissions set to 0700