Como alterar o diretório de trabalho em Python

How Change Working Directory Python



Um diretório de trabalho é um diretório atual no qual estamos trabalhando e a partir do qual o script é executado; dentro deste diretório, temos acesso a muitos arquivos (aqueles localizados dentro dele). No entanto, às vezes precisamos mudar de diretório e alternar entre arquivos e pastas. Neste tutorial, aprenderemos como alterar o diretório de trabalho em Python.

MÓDULO OS

Em primeiro lugar, para conseguir isso, precisaremos do módulo os em Python. Uma vez que vem pré-instalado, não há necessidade de instalar nada. O módulo OS é normalmente usado em Python para interagir, gerenciar e modificar arquivos e pastas no sistema. Por exemplo, podemos criar / remover diretórios, alterar diretórios de trabalho, percorrer os arquivos, verificar se existem arquivos, etc.… Nem é preciso dizer que é um módulo muito útil.







Obtendo o diretório de trabalho atual

Para obter o diretório de trabalho atual, usamos o método getcwd () do módulo de sistema operacional. Observe aqui que nenhum argumento é passado. No meu caso, a saída foi / home / kalyani / PycharmProjects / pythonProject1 em uma máquina Ubuntu (executando PyCharm). Isso significa que o script principal - main.py - está localizado nesta pasta (pythonProject1). E lembre-se, o diretório de trabalho, antes de mais nada, uma pasta!



importar os

# Obtenha o diretório de trabalho atual

diretório atual= os.getcwd()

imprimir('Seu diretório de trabalho atual é% s'% diretório atual)



Mudando o diretório de trabalho atual

Alterar seu diretório de trabalho é fácil com o método chdir (), que recebe exatamente um argumento - o caminho para o novo local como uma string.





importar os

# Obtenha o diretório de trabalho atual

diretório atual= os.getcwd()

imprimir('Seu diretório de trabalho atual é% s'% diretório atual)

A primeira coisa a fazer é definir o novo caminho para o diretório de trabalho. No Ubuntu, isso é muito simples!

# vamos definir um novo diretório de trabalho

new_working_directory= '/ home / kalyani / Desktop / PythonDirectory'

No Windows, você precisa usar barras invertidas duplas para definir o diretório.



#new_working_directory = 'C: \ Usuários \ nunca \ Desktop \ PythonDirectory'

Em seguida, definimos uma cláusula try-except. Se o caminho existir, usaremos o método chdir () para alterar o diretório de trabalho para um novo diretório de trabalho. Se o caminho não for um diretório, ocorrerá um erro!

Experimente:

os.chdir(new_working_directory)

imprimir('O diretório de trabalho foi alterado!')

imprimir('WD:% s'%os.getcwd())


excetoNotADirectoryError:

imprimir('Você não escolheu um diretório.')


excetoFileNotFoundError:

imprimir('A pasta não foi encontrada. O caminho está incorreto. ')


excetoPermissionError:

imprimir('Você não tem acesso a esta pasta / arquivo.')

O código completo ficaria assim:

importar os

# Obtenha o diretório de trabalho atual

diretório atual= os.getcwd()

imprimir('Seu diretório de trabalho atual é% s'% diretório atual)

# vamos definir um novo diretório de trabalho

#new_working_directory = '/ home / kalyani / Desktop / PythonDirectory'

new_working_directory=r'C: VOCÊservir nsempre Desktop PythonDirectory '

Experimente:

os.chdir(new_working_directory)

imprimir('O diretório de trabalho foi alterado!')

imprimir('WD:% s'%os.getcwd())


excetoNotADirectoryError:

imprimir('Você não escolheu um diretório.')


excetoFileNotFoundError:

imprimir('A pasta não foi encontrada. O caminho está incorreto. ')


excetoPermissionError:

imprimir('Você não tem acesso a esta pasta / arquivo.')

Na verdade, os erros podem gerar vários tipos de exceções:

eu. NotADirectoryError:

Agora, suponha que para uma instância eu tenha escrito o seguinte código para o caminho ou o novo diretório de trabalho:

new_working_directory= 'C:\Comercial\nunca\Área de Trabalho\PythonDirectory\text.txt '

O que você pode notar aqui é que estou apontando o caminho para um documento de texto chamado text.txt. E o último lançará um erro conhecido como NotADirectoryError. Em outras palavras, seu caminho deve apontar para algum tipo de diretório.

ii. FileNotFoundError:

Um FileNotFoundError é lançado quando o caminho não existe. Então, suponha que no momento eu não tenha um diretório com o nome de PythonDirectory na minha área de trabalho e que defini meu caminho para:

new_working_directory= 'C: VOCÊservir nsempre Desktop PythonDirectory '

Vai lançar um FileNotFoundError . Este erro significa simplesmente que o diretório para o qual estamos apontando não existe ou não foi encontrado.

iii. PermissionError:

PARA PermissionError é gerado quando o usuário não tem permissões adequadas para modificar ou acessar o diretório escolhido.

4. Erro de sintaxe:

Um erro de sintaxe ocorre quando há um erro de sintaxe no caminho. No Windows, se escrevermos para dizer:

new_working_directory= 'C: VOCÊservir nsempre Desktop PythonDirectory '

Um erro de sintaxe é lançado! No entanto, um erro de sintaxe é muito mais difícil de detectar, pois precisa ser avaliado, importado ou executado. Como tal, quando escrevemos blocos try-except, é mais difícil detectar esse tipo de erro.

No Windows, para evitar erros, o caminho pode ser escrito de uma das três maneiras diferentes, de forma que nenhum erro seja gerado:

Método 1: neste método, adicionamos um r antes de definir a string.

new_working_directory=r'C: VOCÊservir nsempre Desktop PythonDirectory '

Método 2: usamos barras invertidas duplas.

new_working_directory= 'C:\Comercial\nunca\Área de Trabalho\PythonDirectory '

Método 3: usamos uma única barra.

new_working_directory= 'C: / Users / never / Desktop / PythonDirectory'

MÓDULO DE CAMINHO

Também podemos alterar o diretório de trabalho usando o módulo de caminho. Primeiro, instale o caminho da seguinte forma (também forneci o link para o módulo):

caminho de instalação pip

(https: // pypi.org/ projeto / caminho /)

Em seguida, escrevemos:

a partir decaminhoimportarCaminho

importar os

Primeiro, vamos verificar o diretório de trabalho atual usando o módulo os e o método getcwd ().

# vamos verificar o diretório de trabalho atual

cwd= os.getcwd()

imprimir('O diretório de trabalho atual é:% s'% cwd)

imprimir('---------------------------------------------')

Em seguida, defina o caminho para o novo diretório de trabalho. Neste caso, optei por dar o exemplo em uma máquina Windows:

# definir o caminho para o novo diretório de trabalho

novo rumo= 'C:\Comercial\nunca\Área de Trabalho\PythonDirectory '

Use Path () para alterar o diretório de trabalho. Path () aceita apenas um argumento aqui: o caminho real para o novo diretório de trabalho e usa o método chdir () para realizar a tarefa.

# alterar o diretório de trabalho

Caminho(novo rumo).chdir()

Verifique novamente se o diretório de trabalho foi alterado. E aqui, como você pode ver na imagem, o diretório de trabalho foi realmente alterado!

# Verifique novamente o diretório de trabalho

# foi alterado?

cwd= os.getcwd()

imprimir('O novo diretório de trabalho é% s'% cwd)

Alterar os diretórios de trabalho é uma tarefa fácil e requer apenas um método - o método chdir (caminho). No entanto, dependendo se você está em uma máquina Windows ou Linux, você deve ter cuidado ao inserir o caminho como uma string. Se inserido incorretamente, pode gerar um erro!

Happy Coding!