Obter pai do diretório atual usando Python

| | | | | | | | | | | | | | | | | | | | | |

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 :