O módulo OS oferece várias maneiras de obter o diretório pai. Algumas das maneiras:
Usando os.path. abspath()
os.path.abspath()
pode ser usado para obter o diretório pai. Este método é usado para obter a versão normalizada do caminho. Esta função também precisa de ajuda os.path.join ( ()
e os.pardir()
.os.path.join ( ()
em Python os.path.join ( ()
combina um ou mais componentes de caminho. Este método concatena vários componentes de caminho com exatamente um (' / ')
separador de diretório após cada parte não vazia, exceto o último componente do caminho. Se o último componente do caminho a ser unido estiver vazio, então o ( ' / ')
separador de diretório é colocado no final.
Sintaxe: os.path.abspath (caminho)
Parâmetros:
caminho: Um objeto semelhante a um caminho que representa um caminho de sistema de arquivos.Retornar Tipo: Retorna uma string que é uma versão normalizada do caminho.
Exemplo:
# programa Python para obter o pai
# diretório
import
os
# obtém o diretório atual
caminho
=
os.getcwd()
print
(
"Diretório atual"
, cwd)
# imprime o diretório pai
print
(os.path.abspath ( < a href="https://python.engineering/python-os-path-join-method/">os.path.join ( (caminho, os.pardir)))
Saída:
Usando os.path.dirname ()
os.path.dirname ()
em Python é usado para obter o nome de um diretório em um determinado caminho.
Sintaxe: os.path.dirname< /a>(caminho)
Parâmetro:
caminho: Um objeto semelhante a um caminho que representa um caminho de sistema de arquivos.Tipo de retorno: Este método retorna um valor de string que representa o nome do diretório do caminho especificado.
Exemplo:
# programa Python para obter o pai
# diretório
importar
os
# obtém o diretório atual
caminho
=
os.getcwd()
print
(
"Cu rrent Dir ectory "
, caminho)
print
( )
# diretório pai
pai
=
os. path.dirname (caminho)
print
(
"Diretório pai"
, pai)
Sair :
Usando os.path.relpath () e os.path.dirname ()
Nos exemplos acima, obter o diretório pai foi limitado a um nível, ou seja , só poderíamos obter o nível pai do diretório atual para apenas um nível ... Suponha que queremos encontrar o pai para o diretório pai, então o código acima falhará. Isso pode ser feito compartilhando os.path.dirname ()
.
os.path.relpath ()
em Python é usado para obter o caminho relativo para um arquivo em um determinado caminho do diretório de trabalho atual ou do diretório fornecido.
Sintaxe: os.path.relpath (path, start = os.curdir)
Parâmetro:
caminho: Um objeto semelhante a um caminho que representa o caminho do sistema de arquivos.
start (opcional): Um objeto semelhante a um caminho que representa o caminho do sistema de arquivos.
O caminho relativo para um determinado caminho será calculado em relação ao diretório indicado por start. O valor padrão deste parâmetro é os. curdir que é uma constante st anel usado pelo sistema operacional para se referir ao diretório atual.Um objeto semelhante a um caminho é um objeto de string ou bytes que representa um caminho.
Tipo de retorno: Este método retorna um valor de string que representa o caminho de arquivo relativo para um determinado caminho do diretório inicial.0222
Exemplo:
Para obter o diretório pai de acordo com os níveis especificados pelo usuário, criaremos uma função getParent()
que aceitará um path
e levels
como argumentos. Dentro da função, o loop for repetirá level + 1
números de tempo, e dentro do loop for
, os.path.dirname ()
será chamado. Chamar esta função dentro de um loop for nos dará um ponto de partida a partir do qual os.path.relpath() fornecerá o caminho relativo para o arquivo.
Abaixo está a implementação.
# Python getter
# diretório pai
import
os.path
# função para obter o pai
def
getParent (caminho, níveis
=
1
):
common
=
caminho
# Use for loop para obter
# o ponto de partida necessário para
# os.path.relpath()
para
i
em
intervalo
(níveis
+
1
):
# Ponto de partida
comum
=
os.path.dirname (comum)
# Diretório pai antes do
# nível
return
os.path.relpath (caminho, comum)
caminho
=
’D: / Projetos Pycharm / Py thon.Engineering / Nikhil / gfg.txt’
print
(getParent (path,
2
))
Sair :