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 trabalhonew_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 decaminhoimportarCaminhoimportar 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 atualcwd= 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 trabalhonovo 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 trabalhoCaminho(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!