Como obter o diretório de trabalho atual em Python

How Get Current Working Directory Python



O nome do arquivo ou pasta pode ser usado com o caminho completo ou apenas mencionando o nome do arquivo ou pasta apenas para usá-lo no script. O caminho completo de um arquivo ou pasta do diretório raiz é especificado pelo caminho absoluto. Quando o nome do arquivo é usado sem o nome do caminho no script, o diretório de trabalho atual é considerado o nome do caminho do arquivo e é chamado de caminho relativo. Em Python, o diretório de trabalho atual é definido como o local do diretório de onde o script python é executado. Muitos módulos existem em python para obter o diretório de trabalho atual. As maneiras de recuperar o diretório de trabalho atual usando diferentes módulos em Python foram mostradas neste tutorial.

Exemplo-1: Usando o módulo pathlib para obter o diretório de trabalho atual

A classe de caminho do módulo pathlib é usado para ler o diretório de trabalho atual do script em execução. Crie um script Python com o código a seguir para ler e imprimir o diretório de trabalho atual usando o módulo pathlib. o método cwd () da classe Path é usado para imprimir o diretório de trabalho atual de onde o script está sendo executado.







# Importe o caminho do módulo pathlib

a partir depathlibimportarCaminho

# Recupere o caminho do diretório de trabalho atual

current_working_directory=Caminho.cwd()

# Imprime a localização do diretório de trabalho atual

imprimir('A localização do diretório de trabalho atual é:')

imprimir(current_working_directory)

Saída:

A seguinte saída aparecerá após a execução do script acima. Aqui, o caminho do diretório de trabalho atual sem o nome do script é mostrado na saída.





Exemplo 2: Usando normpath () e abspath () para obter o diretório de trabalho atual

Usar o módulo os é outra maneira de recuperar o diretório de trabalho atual. Existem diferentes métodos na classe de caminho do módulo os para recuperar o diretório de trabalho atual. O normpath () e métodos abspath () são os dois. Esses métodos retornam o diretório de trabalho atual como uma string. Crie um arquivo python com o seguinte script para verificar os propósitos dessas funções.





# Importar módulo de sistema operacional

importar os

# Imprime o diretório de trabalho atual usando a função normpath ()

imprimir('O diretório de trabalho atual (usando normpath ()) é:')

imprimir(os.caminho.dirname(os.caminho.normpath(__Arquivo__)))

# Imprime o diretório de trabalho atual usando a função abspath ()

imprimir(' nO diretório de trabalho atual (usando abspath ()) é: ')

imprimir(os.caminho.abspath('.'))

Saída:

A seguinte saída aparecerá após a execução do script acima. Aqui, o caminho do diretório de trabalho atual sem o nome do script é mostrado na saída.



Exemplo 3: Usando realpath () para obter o diretório de trabalho atual

o realpath () é outro método para recuperar o diretório de trabalho atual. Crie um arquivo python com o seguinte script para imprimir o diretório de trabalho atual com o nome do script usando o método realpath () . No script, leva o __Arquivo__ como o valor do argumento contendo o nome do caminho do arquivo no qual o módulo os é importado.

# Importar módulo de sistema operacional

importar os

# Leia o diretório de trabalho atual usando a função realpath ()

real_path= os.caminho.caminho real(__Arquivo__)

# Imprime o diretório de trabalho atual com o nome do script

imprimir(' nO diretório de trabalho atual com o nome do script é: ')

imprimir(real_path)

Saída:

A seguinte saída aparecerá após a execução do script acima. Aqui, o caminho do diretório de trabalho atual com o nome do script é mostrado na saída.

Exemplo 4: Usando getcwd () para obter o diretório de trabalho atual

Usando o função getcwd () do módulo os é a maneira mais simples de recuperar o diretório de trabalho atual do script em execução. Ele não contém nenhum argumento e retorna o CWD como uma string. Crie um arquivo python com o seguinte script para verificar o uso do função getcwd () . O diretório de trabalho atual é impresso no início do script. Em seguida, o caminho do diretório atual é alterado usando o função chdir () . o comando getcwd () é chamado novamente após alterar o diretório.

# Importar módulo de sistema operacional

importar os

# Imprime o diretório de trabalho atual usando a função getcwd ()

imprimir('O diretório de trabalho atual é: n', os.getcwd())

# Altere o diretório de trabalho atual

os.chdir('/ etc / mail')

# Imprime o diretório de trabalho atual após a mudança

imprimir(' nO diretório de trabalho atual após a mudança é: n', os.getcwd())

Saída:

A seguinte saída aparecerá após a execução do script acima. Aqui, o caminho do diretório de trabalho atual sem o nome do script foi impresso antes de alterar o diretório. Em seguida, o caminho do diretório alterado foi impresso.

Exemplo 5: Usando getcwd () com try-except para obter o diretório de trabalho atual

Crie um arquivo python com o seguinte script para alterar o diretório de trabalho atual com base no valor de entrada e lidar com diferentes tipos de erros. Três tipos de erros podem ser tratados executando o script. o Erro FileNotFoundError será gerado se o caminho obtido na entrada não existir. o Erro NotADirectoryError será gerado se o caminho obtido da entrada não for um diretório. o Erro de PermissionError será gerado se o caminho obtido na entrada não estiver acessível.

# Importe o módulo de sistema operacional

importar os

# Digite o caminho do diretório

cwd= entrada('Digite o caminho do diretório de trabalho atual: n')


Experimente:

# Altere o diretório de trabalho atual

os.chdir(cwd)

# Imprime o diretório de trabalho atual usando a função getcwd ()

imprimir('O diretório de trabalho atual é: n', os.getcwd())

# Gera erro se o diretório não existe

excetoFileNotFoundError:

imprimir('O diretório não existe.')

# Gera um erro se o caminho de entrada não for um diretório

excetoNotADirectoryError:

imprimir('% s não é um diretório'%(cwd))

# Gera um erro se o diretório não estiver acessível

excetoPermissionError:

imprimir('Permissão negada para mudar o diretório.')

Saída:

A seguinte saída aparecerá após a execução do script acima, se o caminho existir. Aqui, o caminho de entrada obtido existe e o diretório de trabalho alterado foi impresso na saída.


A seguinte saída aparecerá após a execução do script acima se o caminho não existir.


A seguinte saída aparecerá após a execução do script acima se o caminho escolhido não estiver acessível.

Conclusão:

O uso dos módulos pathlib e os para ler o diretório de trabalho atual é mostrado neste tutorial usando diferentes exemplos. A maneira de recuperar o diretório de trabalho atual após alterar o diretório de trabalho atual com base na entrada do usuário também foi mostrada neste tutorial.