Navegando em diretórios recursivamente com os.walk() em Python
Buscando criar listagens de diretórios mais estruturadas, um desenvolvedor tentou modificar seu código para exibir diretórios como títulos em maiúsculas com linhas tracejadas indicando profundidade e arquivos abaixo deles. No entanto, sua abordagem inicial produziu resultados incompletos.
Para enfrentar esse desafio, podemos utilizar o atributo os.sep do Python para delinear os componentes do caminho corretamente. Aqui está uma solução aprimorada:
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
Neste código revisado, dividimos o caminho usando os.sep como delimitador, que acomoda sistemas de arquivos Windows e Unix. Ao subtrair 1 do comprimento do caminho, podemos obter a profundidade do nível atual e exibir o número apropriado de linhas tracejadas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3