Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Busca Recursiva de Arquivos | Recursão e Funções Lambda
Tutorial de Funções em Python

Deslize para mostrar o menu

book
Desafio: Busca Recursiva de Arquivos

Trabalhando com Dicionários Aninhados

Em Python, dicionários podem conter outros dicionários. Isso é útil para representar estruturas hierárquicas como um sistema de arquivos.

Para navegar em um dicionário:

Use items() para iterar por todos os pares chave-valor:

123456789101112
file_system = { "home": { "resume.pdf": "file", "notes.txt": "file" }, "etc": { "config.yaml": "file" } } for name, content in file_system.items(): print(name, "->", content)
copy
  • Use isinstance(content, dict) para verificar se um valor é ele mesmo um dicionário (ou seja, uma pasta, não um arquivo):

123456789101112
file_system = { "home": { "resume.pdf": "file" }, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
copy
Tarefa

Swipe to start coding

Imagine a necessidade de verificar se um arquivo específico existe dentro de uma estrutura de dicionário aninhado que representa um sistema de arquivos. Implemente uma função file_exists que navega recursivamente por pastas (objetos do tipo dicionário) e busca por um arquivo (representado pela string "file"). Retorne True se o arquivo for encontrado; caso contrário, retorne False.

  1. Utilize um laço for para iterar por todos os elementos do dicionário file_system usando o método items(). Isso recupera a chave (name) e o valor (content).
  2. Verifique se content é um arquivo (ou seja, a string "file") e se name corresponde ao target (nome do arquivo a ser buscado).
  3. Se ambas as condições forem satisfeitas, retorne True, indicando que o arquivo foi encontrado.
  4. Se o conteúdo não for um arquivo, verifique se é uma pasta. Utilize a função isinstance(), passando content como o primeiro argumento e dict como o segundo (o que verifica se o elemento é um dicionário).
  5. Se content for uma pasta, chame file_exists recursivamente com os parâmetros necessários para continuar a busca dentro dela.
  6. Se a chamada recursiva retornar True, o arquivo foi encontrado, então retorne True.
  7. Se nenhuma correspondência for encontrada após verificar todas as pastas e arquivos, retorne False.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 4.35

book
Desafio: Busca Recursiva de Arquivos

Trabalhando com Dicionários Aninhados

Em Python, dicionários podem conter outros dicionários. Isso é útil para representar estruturas hierárquicas como um sistema de arquivos.

Para navegar em um dicionário:

Use items() para iterar por todos os pares chave-valor:

123456789101112
file_system = { "home": { "resume.pdf": "file", "notes.txt": "file" }, "etc": { "config.yaml": "file" } } for name, content in file_system.items(): print(name, "->", content)
copy
  • Use isinstance(content, dict) para verificar se um valor é ele mesmo um dicionário (ou seja, uma pasta, não um arquivo):

123456789101112
file_system = { "home": { "resume.pdf": "file" }, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
copy
Tarefa

Swipe to start coding

Imagine a necessidade de verificar se um arquivo específico existe dentro de uma estrutura de dicionário aninhado que representa um sistema de arquivos. Implemente uma função file_exists que navega recursivamente por pastas (objetos do tipo dicionário) e busca por um arquivo (representado pela string "file"). Retorne True se o arquivo for encontrado; caso contrário, retorne False.

  1. Utilize um laço for para iterar por todos os elementos do dicionário file_system usando o método items(). Isso recupera a chave (name) e o valor (content).
  2. Verifique se content é um arquivo (ou seja, a string "file") e se name corresponde ao target (nome do arquivo a ser buscado).
  3. Se ambas as condições forem satisfeitas, retorne True, indicando que o arquivo foi encontrado.
  4. Se o conteúdo não for um arquivo, verifique se é uma pasta. Utilize a função isinstance(), passando content como o primeiro argumento e dict como o segundo (o que verifica se o elemento é um dicionário).
  5. Se content for uma pasta, chame file_exists recursivamente com os parâmetros necessários para continuar a busca dentro dela.
  6. Se a chamada recursiva retornar True, o arquivo foi encontrado, então retorne True.
  7. Se nenhuma correspondência for encontrada após verificar todas as pastas e arquivos, retorne False.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

close

Awesome!

Completion rate improved to 4.35

Deslize para mostrar o menu

some-alt