How to list all files in a folder using Python?

1

I'm building a program that needs to know the files in the working directory of it. So I typed the following code.

def encontrar_arq(cadena, caminho):
   encontrado = False
   # lista_arq = ls(caminho) #funcao que lista todos os arquivos do caminho
   for nome_arq in lista_arq:
       if nome_arq == cadena:
           encontrado = True
   return encontrado
    
asked by anonymous 19.09.2016 / 05:23

1 answer

8

There are a few ways, one of which is os.listdir :

from os import listdir

def encontrar_arq(cadena, caminho):
   encontrado = False
   lista_arq = listdir(caminho)

   for arquivo in lista_arq:
      # Use "arquivo" aqui...

To list the files and directories separately, use os.walk :

from os import walk

def encontrar_arq(cadena, caminho):
   encontrado = False

   for path, diretorios, arquivos in walk(caminho):
       for arquivo in arquivos:
           # Use "arquivo" aqui...

Another alternative is glob.glob :

from glob import glob

def encontrar_arq(cadena, caminho):
   encontrado = False

   arquivos = glob(caminho + '.*') # Para listar somente .txt altere para "*.txt"
   for arquivo in arquivos:
       # Use "arquivo" aqui...
    
19.09.2016 / 06:09