A dependência do Python de arquivos externos é um aspecto crucial, é aconselhável prestar atenção aos arquivos base / fonte antes de executar qualquer código. Antes de executar um programa específico, você precisa garantir que seus arquivos de origem existam no local especificado.
Todo desenvolvedor entende a necessidade de criar códigos de fallback, que podem evitar que um prorgrama falhe no caso de uma condição não ser atendida. Em Python, existem várias maneiras de verificar se um arquivo existe; aqui estão os principais métodos que você deve conhecer.
1. Experimente e exceto as declarações
o try e except verifica um comando e produz uma saída. No código abaixo, o Experimente declaração tentará abrir um arquivo (testfile.txt). Se o processador do Python conseguir localizar o arquivo, ele abrirá o arquivo e imprimirá o resultado O arquivo está aberto e disponível para uso.
Experimente:
f = open ('testfile.txt')
imprimir ("Arquivo disponível para uso")
f.close ()
exceto IOError:
imprimir ('O arquivo não está acessível')
Se encontrar um erro, ele imprimirá o resultado O arquivo não está acessível. Uma vez que o código completo é compilado e executado, ele fechará o arquivo aberto se ele tiver sido aberto.
A dependência do Python de arquivos externos é um aspecto crucial, e você precisa prestar atenção aos arquivos base / fonte, antes de executar qualquer código.
Antes de executar um programa específico, certifique-se de que seus arquivos de origem existam no local específico.
2. Os.path.isfile (caminho)
Python tem um módulo de sistema operacional integrado que pode ser chamado para interagir com os arquivos, pastas e diretórios subjacentes. Python's os.path.isfile () O método pode ser usado para verificar um diretório e se existe um arquivo específico.
A primeira etapa é importar a função integrada usando o import os.path biblioteca. O próximo comando verifica se o arquivo existe no local específico.
import os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
A saída retorna Verdade, pois o arquivo existe no local específico. Se o arquivo não existir, o Python retornará Falso.
3. Os.path.exists (caminho)
Por motivos semelhantes, o importar os A instrução da biblioteca pode ser usada para verificar se o diretório existe em seu sistema.
A sintaxe é bastante simples:
Importar os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")
Assim como na etapa anterior, se o diretório / pasta for encontrado no caminho do sistema especificado, o Python retorna Verdade, e subsequentemente, Falso, se o diretório / pasta não for encontrado.
Relacionado: Aprendendo Python? Veja como copiar um arquivo
4. Os. Caminho. Isdir (caminho)
Assim como os.path.isfile e os.path.exists (), os.path.isdir () é uma subfunção da biblioteca os. A única diferença aqui é que este comando só funciona para diretórios. Como esperado, o uso desta sintaxe retorna um valor booleano baseado na existência de diretórios.
Por exemplo:
importar os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")
A saída é Verdade, uma vez que a pasta / diretório existe no caminho especificado.
importar os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")
A saída é Falso, já que a pasta / diretório não existe no caminho especificado.
5. Pathlib.path.exists ()
Python 3.4 e versões superiores oferecem o Pathlib módulo, que pode ser importado usando o importar função. Pathlib captura as funcionalidades necessárias em um lugar e as disponibiliza por meio de vários métodos para usar com o objeto de caminho.
Para usar o Pathlib:
import pathlib
arquivo = pathlib. Caminho (r "C: \ Usuários \ Wini Bhalla \ Desktop \ Arquivo de teste Python.txt")
se file.exists ():
imprimir ("Arquivo existe")
outro:
imprimir ("Arquivo não existe")
De acordo com a existência do arquivo, a saída exibirá se o arquivo existe ou não no caminho especificado. Idealmente, o código no imprimir declaração pode ser alterada, de acordo com os requisitos do seu programa
6. Os.listdir (caminho)
o listdir método em Python retorna uma lista de todos os arquivos em um diretório específico, conforme especificado pelo usuário. No entanto, esse método não retornará nenhum arquivo existente nas subpastas.
o listdir método aceita apenas um parâmetro, o caminho do arquivo. O ideal é que o caminho do arquivo seja o nome do arquivo e da pasta que você deseja recuperar.
A sintaxe básica inclui:
os.listdir (caminho)
No exemplo abaixo, você pode criar um loop para percorrer todos os arquivos listados no diretório e, em seguida, verificar a existência do arquivo especificado declarado com o E se demonstração.
importar os
caminho = r'C: \ Usuários \ Wini Bhalla \ Desktop '
arquivos = os.listdir (caminho)
imprimir (arquivos)
Este código imprimirá a lista de arquivos disponíveis no diretório atual.
importar os
caminho = r'C: \ Usuários \ Wini Bhalla \ Desktop 'arquivos = os.listdir (caminho)
para f em arquivos:
if f == "test.txt":
imprimir ("Arquivo existe")
outro:
imprimir ("Arquivo não existe")
Mais adiante, quando o loop é executado, o listdir funcionar junto com o E se a lógica da instrução percorrerá a lista de arquivos e imprimirá os resultados, dependendo das condições passadas no imprimir demonstração.
Relacionado: Use loops com listas em Python
7. Módulo Glob
o glob O módulo corresponde a todos os nomes de caminho com os parâmetros especificados e permite que você acesse o sistema de arquivos de forma sucinta. Como glob é usado para correspondência de padrões, você pode usá-lo para verificar o status de um arquivo.
Existem duas referências do caminho:
- Caminho absoluto: Use-o quando quiser procurar um arquivo em um diretório diferente.
- Caminho relativo: Use isto quando você deseja procurar um arquivo no diretório atual.
Se o arquivo for encontrado, o código retornará Verdade, caso contrário, ele retornará Falso.
Um exemplo de uso de Glob:
import glob
if glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
imprimir ("Arquivo existente")
outro:
imprimir ("Arquivo não existe")
A saída deste código imprimirá o resultado, se o arquivo for encontrado.
8. Subprocesso
O comando de teste no módulo de subprocesso é uma maneira eficiente de testar a existência de arquivos e diretórios. Os comandos de teste funcionam apenas em máquinas com base em Unix e não em máquinas com sistema operacional Windows.
Você pode usar os seguintes comandos de acordo com suas necessidades:
- teste -e: Verifique a existência de um caminho
- test -f: Verifique a existência de um arquivo
- test-d: Verifique a existência de uma pasta
Verificando um caminho com subprocesso:
da execução de importação de subprocesso
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0
Este código chamou a função de teste seguida por '-e' para verificar a existência de um caminho. A função mostra Falso para um caminho inválido.
Verificando um arquivo com subprocesso:
run (['test', '-f', 'testfile.txt']). returncode == 0
run (['test', '-f', 'testdirectory']). returncode == 0
o '-f' função testa a existência de um arquivo e retorna Falso para um diretório.
Verificando um diretório com subprocesso:
run (['test', '-d', 'testfile.txt']). returncode == 0
run (['test', '-d', 'testdirectory']). returncode == 0
o '-d' função testa a existência de um diretório e retorna Falso para qualquer consulta de arquivo no comando test.
Qual comando você usará para localizar seus arquivos?
Python é uma linguagem relativamente fácil de usar e oferece muitas opções para os usuários finais. Para verificar a existência de um (s) arquivo (s), você pode usar qualquer um dos procedimentos listados acima.
No entanto, se você é um iniciante, sempre há maneiras de aprender Python. Como Python é uma linguagem vasta, é melhor gastar algum tempo entendendo as diferentes nuances e sua gama de comandos.
Python é extremamente versátil, com aplicativos que vão desde o desenvolvimento da web até a análise de dados.
Leia a seguir
- Programação
- Pitão
- Dicas de codificação
Wini é um escritor que mora em Delhi, com 2 anos de experiência em redação. Durante suas temporadas como redatora, ela se associou a agências de marketing digital e empresas técnicas. Ela escreveu conteúdo relacionado a linguagens de programação, tecnologia de nuvem, AWS, Machine Learning e muito mais. Nas horas vagas, gosta de pintar, passar o tempo com a família e viajar para a montanha, sempre que possível.
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Clique aqui para se inscrever