API de caminhos
As utilidades léxicas de caminho estão disponíveis em ptool.path e p.path.
ptool.path.join
v0.1.0- Introduced.
ptool.path.join(...segments) junta vários segmentos de caminho e retorna o
caminho normalizado.
segments(string, pelo menos um): Segmentos de caminho.- Retorna:
string.
Exemplo:
print(ptool.path.join("tmp", "a", "..", "b")) -- tmp/b
ptool.path.normalize
v0.1.0- Introduced.
ptool.path.normalize(path) faz a normalização léxica de caminhos
(processando . e ..).
path(string, obrigatório): O caminho de entrada.- Retorna:
string.
Exemplo:
print(ptool.path.normalize("./a/../b")) -- b
ptool.path.abspath
v0.1.0- Introduced.
ptool.path.abspath(path[, base]) calcula um caminho absoluto.
path(string, obrigatório): O caminho de entrada.base(string, opcional): O diretório base. Se omitido, é usado o diretório de trabalho do processo atual.- Retorna:
string. - Aceita apenas 1 ou 2 argumentos string.
Exemplo:
print(ptool.path.abspath("src"))
print(ptool.path.abspath("lib", "/tmp/demo"))
ptool.path.relpath
v0.1.0- Introduced.
ptool.path.relpath(path[, base]) calcula um caminho relativo de base até
path.
path(string, obrigatório): O caminho de destino.base(string, opcional): O diretório inicial. Se omitido, é usado o diretório de trabalho do processo atual.- Retorna:
string. - Aceita apenas 1 ou 2 argumentos string.
Exemplo:
print(ptool.path.relpath("src/main.rs", "/tmp/project"))
ptool.path.isabs
v0.1.0- Introduced.
ptool.path.isabs(path) verifica se um caminho é absoluto.
path(string, obrigatório): O caminho de entrada.- Retorna:
boolean.
Exemplo:
print(ptool.path.isabs("/tmp")) -- true
ptool.path.dirname
v0.1.0- Introduced.
ptool.path.dirname(path) retorna a parte de nome do diretório.
path(string, obrigatório): O caminho de entrada.- Retorna:
string.
Exemplo:
print(ptool.path.dirname("a/b/c.txt")) -- a/b
ptool.path.basename
v0.1.0- Introduced.
ptool.path.basename(path) retorna o último segmento do caminho
(a parte do nome do arquivo).
path(string, obrigatório): O caminho de entrada.- Retorna:
string.
Exemplo:
print(ptool.path.basename("a/b/c.txt")) -- c.txt
ptool.path.extname
v0.1.0- Introduced.
ptool.path.extname(path) retorna a extensão, incluindo o .. Se não houver
extensão, retorna uma string vazia.
path(string, obrigatório): O caminho de entrada.- Retorna:
string.
Exemplo:
print(ptool.path.extname("a/b/c.txt")) -- .txt
Notas:
- O tratamento de caminhos em
ptool.pathé puramente léxico. Ele não verifica se os caminhos existem nem resolve links simbólicos. - Nenhuma das interfaces aceita argumentos de string vazia. Passar um deles gera erro.