os.path-Common pathname manipulations

código fonte: Lib/posixpath.py (para POSIX) andLib/ntpath.py (Para Windows NT).

este módulo implementa algumas funções úteis em pathnames. Para ler ou escrever arquivos veja open(), e para acessar o sistema de arquivos veja o móduloos. Os parâmetros do caminho podem ser passados como cadeias,ou bytes. As aplicações são encorajadas a representar nomes de arquivos como strings de caracteres (Unicode). Infelizmente, alguns nomes de arquivos podem não ser patenteáveis como strings no Unix, de modo que aplicações que precisam suprir nomes de arquivos no Unix devem usar objetos bytes para representar nomes de vias. Vice-versa, usando objetos bytes não pode representar todos os nomes de arquivos no Windows( na codificação padrão mbcs), portanto, aplicações de janelas devem usar objetos de texto para acessar todos os arquivos.

ao contrário de um shell unix, o Python não faz nenhuma expansão automática do caminho.Funções como expanduser() e expandvars() podem ser invocadasexplicitamente quando uma aplicação deseja expansão de caminho semelhante ao shell. (Ver também o módulo glob.)

See also

the pathlib module offers high-level path objects.

Nota

todas estas funções aceitam apenas bytes ou apenas objectos de cadeia como parâmetros. O resultado é um objeto do mesmo tipo, se um nome de caminho ou ficheiro for devolvido.

Nota

uma vez que diferentes sistemas operacionais têm diferentes convenções de nomes de caminho, existem várias versões deste módulo na biblioteca padrão. O móduloos.path é sempre o módulo path adequado para o Python do operatingsystem que está em execução e, portanto, utilizável para caminhos locais. No entanto, você também pode importar e usar os módulos individuais se você quiser manipular caminho que está sempre em um dos diferentes formatos. Todos eles têm thesame interface:

  • posixpath para o estilo UNIX caminhos

  • ntpath para o Windows caminhos

Alterado na versão 3.8: exists(), lexists(), isdir(), isfile(),islink(), e ismount() agora retornar False em vez de criar uma exceção para caminhos que contenham caracteres ou bytesunrepresentáveis ao nível do sistema operacional.

os.path.abspath(path) *

Return a normalized absolutized version of the pathname path. Na maioria das formas, isto é equivalente a chamar a função normpath() como segue: normpath(join(os.getcwd(), path)).

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.basename(path)

Devolve o nome base do Caminho do nome do caminho. Este é o segundo elemento doair retornado passando caminho para a função split(). Note que o resultado desta função é diferente do Programa de base Unix; onde o nome de base para'/foo/bar/' devolve 'bar', a função basename() devolve um texto vazio ('').

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.commonpath(paths)

Return the longest common sub-path of each pathname in the sequencepaths. Raise ValueError se os caminhos contiverem ambos os nomes absolutos e relativos, os caminhos estão nas diferentes unidades ou os caminhos estão vazios. Ao contrário de commonprefix(), este devolve um caminho avalid.

Disponibilidade: Unix, Windows.

novo na versão 3.5.

alterado na versão 3.6: aceita uma sequência de objetos do tipo Caminho.

os.path.commonprefix(list) *

Return the longest path prefix (taken character-by-character) that is aprefix of all paths in list. Se a lista estiver vazia, devolve o texto vazio ('').

Nota

esta função pode retornar caminhos inválidos porque ele trabalha acharacter em um momento. Para obter um caminho válido, vercommonpath().

>>> os.path.commonprefix()'/usr/l'>>> os.path.commonpath()'/usr'

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.dirname(path)

Devolve o nome do directório do pathname path. Este é o primeiro elemento do par retornado passando o caminho para a função split().

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.exists(path) *

Return True if path refers to an existing path or an openfile descriptor. Devolve False para as ligações simbólicas quebradas. Onsome platforms, this function may return False if permission isn’t granted to execute os.stat() on the requested file, evenif the path physically exists.

alterado na versão 3. 3: path pode agora ser um inteiro: True é devolvido se for um descritor de arquivo aberto, False caso contrário.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.lexists(path) *

Return True if path refers to an existing path. Retorna ligações simbólicas True forbroken. Equivalente a exists() em plataformas semos.lstat().

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.expanduser(path) *

On Unix and Windows, return the argument with an initial component of ~ or~user replaced by that user’s home directory.

no Unix, uma inicial ~ é substituída pela variável de ambiente HOMEse estiver configurada; caso contrário, o directório pessoal do utilizador actual é procurado no directório de senhas através do módulo embutido pwd. Uma inicial ~useré pesquisada diretamente no diretório de senha.

no Windows, USERPROFILE será usado se definido, caso contrário será usada uma combinação de HOMEPATH e HOMEDRIVE. Um~user inicial é tratado removendo o último componente de diretório do caminho createduser derivado acima.

se a expansão falhar ou se o caminho não começar com um tilde, o caminho é virado inalterado.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

alterado na versão 3.8: já não usa HOME no Windows.

os.path.expandvars(path)

Return the argument with environment variables expanded. Os substratos da forma$name ou ${name} são substituídos pelo valor do nome variável do ambiente. Nomes de variáveis malformados e referências a variáveis não-existentes permanecem inalterados.

nas janelas, %name% as expansões são suportadas além de $name e ${name}.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.getatime(path) *

Return the time of last access of path. O valor de retorno é um número de vírgula flutuante que dá o número de segundos desde a época (veja o módulo time). ElevarOSError se o ficheiro não existir ou estiver inacessível.

os.path.getmtime(path) *

Return the time of last modification of path. O valor de retorno é um numerador de ponto flutuante com o número de segundos desde a época (veja o módulo time).Elevar OSError se o ficheiro não existir ou estiver inacessível.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.getctime(path) *

Return the system’s ctime which, on some systems (like Unix) is the time of thelast metadata change, and, on others (like Windows), is the creation time for path.O valor de retorno é um número que dá o número de segundos desde a época (veja o módulo time). Elevar OSError se o ficheiro não existir ou estiver inacessível.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.getsize(path) *

Return the size, in bytes, of path. Raise OSError if the file doesn’t exist or is inacessible.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.isabs(path) *

Return True if path is an absolute pathname. No Unix, isso significa que itbegins com uma barra, no Windows que começa com uma barra (traseira)depois de choppingoff uma letra de drive potencial.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.isfile(path) ¶

Return True if path is an existing regular file.Isto segue ligações simbólicas, de modo que tanto islink() e isfile() podem ser verdadeiras para o mesmo caminho.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.isdir(path) *

Return True if path is an existing directory. Isto segue ligações simbólicas, pelo que tanto islink() como isdir() podem ser verdadeiras para o mesmo caminho.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.islink(path) *

Return True if path refers to an existing directoryentry that is a symbolic link. Sempre False se as ligações simbólicas não são suportadas pelo tempo de execução Python.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.ismount(path) *

Return True if pathname path is a mount point: a point in afile system where a different file system has been mounted. Em POSIX, a função verifica se o pai do path, path/.., está em uma variável diferente do path, ou se path/.. e o ponto do path para o samei-node no mesmo dispositivo — isto deve detectar pontos de montagem para todas as variantes Unixand POSIX. Ele não é capaz de detectar de forma confiável montagens bind no mesmo sistema de arquivos. No Windows, uma raiz de letra de unidade e uma partilha de pontos de montagem UNC, e para qualquer outro caminho GetVolumePathName é chamado para ver se é diferente do caminho de entrada.

New in version 3.4: Support for detecting non-root mount points on Windows.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.join(path, * paths) ¶

Junte um ou mais componentes do caminho inteligentemente. O valor de retorno é a concordância do caminho e de quaisquer membros de caminhos *com um separador exatamente onedirectory (os.sep) seguindo cada parte não-vazia exceto a última, o que significa que o resultado só terminará em um separador se a última parte estiver vazia. Se um componente é um caminho absoluto, todos os componentes anteriores são jogados fora e a junção continua a partir do componente de caminho absoluto.

no Windows, a carta de condução não é reiniciado quando um componente de caminho absoluto(por exemplo, r'\foo') é encontrado. Se um componente contém uma carta de condução, todos os componentes anteriores são jogados fora e a carta de condução isreset. Note que, uma vez que existe um diretório atual para cada unidade,os.path.join("c:", "foo") representa um caminho em relação ao diretório atual na unidade C: (c:foo), não c:\foo.

alterado na versão 3.6: aceita um objeto semelhante ao caminho para o caminho e caminhos.

os.path.normcase(path) *

Normalize o caso de um pathname. No Windows, converta todos os caracteres no nome do computador para minúsculas, e também converta as barras para a frente para barras para trás.Em outros sistemas operacionais, retornar o caminho inalterado.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.normpath(path) *

Normalize um pathname, colapsando separadores redundantes e referências de Nível Superior de modo que A//B, A/B/, A/./B and A/foo/../B allbecome A/B. Esta manipulação de cadeia de caracteres pode alterar o Significado de um caminho que contém ligações simbólicas. No Windows, ele converte barras dianteiras para Tobacco. Para normalizar o caso, use normcase().

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.realpath(path) *

Return the canonical path of the specified filename, eliminating any symboliclinks encountered in the path (if they are supported by the operatingsystem).

Nota

quando ocorrem ciclos de ligação simbólicos, o caminho devolvido será um membro do ciclo, mas não é feita nenhuma garantia sobre qual membro será.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

alterado na versão 3.8: ligações simbólicas e junções são agora resolvidos no Windows.

os.path.relpath(path, start = os.curdir)¶

Devolve um ficheiro relativo à localização quer da pasta actual quer de uma pasta inicial opcional. Este é um cálculo de path: o sistema de ficheiros não é acedido para confirmar a existência ou a natureza do path orstart.

o início por omissão é os.curdir.

Disponibilidade: Unix, Windows.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.samefile(path1, path2)

Return True if both pathname arguments refer to the same file or directory.Isto é determinado pelo número do dispositivo e pelo número de I-nó e levanta uma excepção se uma chamada os.stat() em qualquer pathname falhar.

Disponibilidade: Unix, Windows.

alterado na versão 3.2: Suporte adicionado ao Windows.

alterado na versão 3.4: O Windows agora usa a mesma implementação que todas as outras plataformas.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.sameopenfile(fp1, fp2)¶

Return True if the file descriptors fp1 and fp2 reference to the same file.

Disponibilidade: Unix, Windows.

alterado na versão 3.2: Suporte adicionado ao Windows.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.samestat(stat1, stat2)¶

Return True if the stat tuples stat1 and stat2 reference to the same file.Estas estruturas podem ter sido devolvidas por os.fstat(),os.lstat(), ou os.stat(). Esta função implementa a comparação subjacente utilizada por samefile() e sameopenfile().

Disponibilidade: Unix, Windows.

alterado na versão 3.4: Suporte adicionado ao Windows.

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.split(path) *

divide o caminho do nome do caminho em um par, (head, tail) onde a cauda é o último componente do nome do caminho e a cabeça é tudo o que leva até isso. A parte da cauda nunca conterá uma barra; se o caminho terminar em uma barra, a cauda estará vazia. Se não houver cortes no caminho, a cabeça estará vazia. Ifpath está vazio, tanto a cabeça quanto a cauda estão vazias. As barras de acompanhamento são retiradas da cabeça, a menos que seja a raiz (uma ou mais barras apenas). Em todos os casos, join(head, tail) devolve um caminho para o mesmo local que o caminho (mas as cadeias de caracteres podem diferir). Veja também as funções dirname() e basename().

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.splitdrive(path) *

divide o caminho do nome do caminho em um par (drive, tail) onde a unidade é o ponto de montagem eithera ou a cadeia vazia. Nos sistemas que não usam drivespecifications, drive será sempre a string vazia. Em todos os casos, drive+ tail será o mesmo caminho.

no Windows, divide um nome de localização em unidade/UNC sharepoint e localização relativa.

se o caminho contém uma carta de condução, a unidade conterá tudo até e incluindo o cólon.como. O splitdrive("c:/dir") devolve ("c:", "/dir")

se a localização contiver um caminho UNC, a unidade irá conter o nome e a partilha da máquina, até ao quarto separador, mas não incluindo.o por ex. splitdrive("//host/computer/dir") devolve ("//host/computer", "/dir")

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.splitext(path)*

divide o caminho do nome do caminho em um par (root, ext) tal que root + ext ==path , e a saída está vazia ou começa com um período e contém no máximo um período. Os períodos iniciais no nome de base são ignorados; splitext('.cshrc')devolve ('.cshrc', '').

alterado na versão 3.6: aceita um objeto semelhante ao caminho.

os.path.supports_unicode_filenames

Deixe uma resposta

O seu endereço de email não será publicado.

More: