Como mudar o diretório de trabalho em Python

Como mudar o diretório de trabalho em 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 (os localizados nele). No entanto, às vezes precisamos alterar os diretórios e ir e voltar entre arquivos e pastas. Neste tutorial, aprenderemos a mudar o diretório de trabalho em Python.

Módulo OS

Em primeiro lugar, para conseguir isso, precisaremos do módulo OS no Python. Como vem pré-instalado, não há necessidade de instalar nada. O módulo OS é normalmente usado no Python para interagir, gerenciar e modificar arquivos e pastas no sistema. Por exemplo, podemos criar/remover diretórios, alterar diretórios de trabalho, arquivos de passo a passo, verificar se os arquivos existem, etc.... escusado será 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 OS. Por favor, observe aqui que nenhum argumento é passado. No meu caso, a saída foi “/Home/Kalyani/PyCharmProjects/PythonProject1”Em uma máquina Ubuntu (em execução PyCharm). Isso significa que o script principal - principal.PY - está localizado dentro desta pasta (PythonProject1). E lembre -se, o diretório de trabalho, em primeiro lugar uma pasta!

OS de importação
# Obtenha o diretório de trabalho atual
current_directory = os.getcwd ()
print ("Seu diretório de trabalho atual é % s" % current_directory)

Alterando o diretório de trabalho atual

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

OS de importação
# Obtenha o diretório de trabalho atual
current_directory = os.getcwd ()
print ("Seu diretório de trabalho atual é % s" % current_directory)

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

# Vamos definir um novo diretório de trabalho
new_working_directory = "/home/kalyani/desktop/pythondirectory"

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

#New_Working_Directory = "C: \\ Users \\ Never \\ Desktop \\ PyTyTondirectory"

Em seguida, definimos uma cláusula de tentar exceto. 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, ele lançará um erro!

tentar:
OS.chdir (new_working_directory)
print ("O diretório de trabalho foi alterado!")
impressão ("wd: % s" % os.getcwd ())
Exceto não -diretório oror:
imprimir ("Você não escolheu um diretório.")
Exceto FileNotFoundError:
impressão ("A pasta não foi encontrada. O caminho está incorreto.")
Exceto PermissionError:
print ("Você não tem acesso a esta pasta/arquivo.")

O código completo ficaria assim:

OS de importação
# Obtenha o diretório de trabalho atual
current_directory = os.getcwd ()
print ("Seu diretório de trabalho atual é % s" % current_directory)
# Vamos definir um novo diretório de trabalho
#New_Working_Directory = "/Home/Kalyani/Desktop/PythondirEctory"
new_working_directory = r "c: \ users \ nunca \ desktop \ pythondirEctory"
tentar:
OS.chdir (new_working_directory)
print ("O diretório de trabalho foi alterado!")
impressão ("wd: % s" % os.getcwd ())
Exceto não -diretório oror:
imprimir ("Você não escolheu um diretório.")
Exceto FileNotFoundError:
impressão ("A pasta não foi encontrada. O caminho está incorreto.")
Exceto PermissionError:
print ("Você não tem acesso a esta pasta/arquivo.")

De fato, os erros podem levantar vários tipos de exceções:

eu. NotadirectoryError:

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

new_working_directory = "C: \\ Users \\ Never \\ Desktop \\ PyThondirectory \\ Text.TXT"

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

ii. FILENOTFoundError:

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

new_working_directory = "C: \ Users \ Never \ Desktop \ PyTytondirectory"

Vai jogar um FILENOTFoundError. Este erro significa simplesmente que o diretório que estamos apontando não existe ou não foi encontrado.

iii. PermissionError:

A PermissionError é levantado quando o usuário não possui 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: \ Users \ Never \ Desktop \ PyTytondirectory"

Um erro de sínthax é jogado! No entanto, um erro de sintaxe é muito mais difícil de capturar, pois precisa ser avaliado, importado ou executado. Como tal, quando escrevemos blocos de tentativa de exceção, é mais difícil pegar esse erro.

No Windows, para evitar erros, o caminho pode ser escrito de uma de três maneiras diferentes, de modo que nenhum erro seja lançado:

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

new_working_directory = r "c: \ users \ nunca \ desktop \ pythondirEctory"

Método 2: Usamos barras -barras duplas.

new_working_directory = "C: \\ Users \\ Never \\ Desktop \\ PyThondirEctory"

Método 3: Usamos uma única barra para frente.

new_working_directory = "c:/usuários/nunca/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 dei o link para o módulo):

Caminho de instalação pip
(https: // pypi.org/projeto/caminho/)

Em seguida, escrevemos:

do caminho de importação do caminho
OS de importação

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 ()
print ("O diretório de trabalho atual é: % s" % cwd)
imprimir("---------------------------------------------")

Em seguida, defina o caminho para o novo diretório de trabalho. Nesse caso, escolhi definir o exemplo em uma máquina do Windows:

# Defina o caminho para o novo diretório de trabalho
new_path = "C: \\ Usuários \\ Never \\ Desktop \\ PyThondirEctory"

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

# mude o diretório de trabalho
Caminho (new_path).chdir ()

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

# Verifique novamente o diretório de trabalho
# foi alterado?
CWD = OS.getcwd ()
print ("O novo diretório de trabalho é % s" % cwd)

Mudar os diretórios de trabalho é uma tarefa fácil e leva apenas um método - o método chdir (caminho). No entanto, dependendo de você estar em uma máquina Windows ou em uma máquina Linux, você deve ter cuidado com a forma como insere o caminho como uma string. Se for inserido incorretamente, ele pode causar um erro!

Codificação feliz!