############################################################################## # Parte do livro Introdução à Programação com Python # Autor: Nilo Ney Coutinho Menezes # Editora Novatec (c) 2010-2017 # Primeira edição - Novembro/2010 - ISBN 978-85-7522-250-8 # Primeira reimpressão - Outubro/2011 # Segunda reimpressão - Novembro/2012 # Terceira reimpressão - Agosto/2013 # Segunda edição - Junho/2014 - ISBN 978-85-7522-408-3 # Primeira reimpressão - Segunda edição - Maio/2015 # Segunda reimpressão - Segunda edição - Janeiro/2016 # Terceira reimpressão - Segunda edição - Junho/2016 # Quarta reimpressão - Segunda edição - Março/2017 # Terceira Edição - Janeiro/2019 # # Site: http://python.nilo.pro.br/ # # Arquivo: exercicios\capitulo 09\exercicio-09-35.py ############################################################################## import sys import os import os.path # este módulo ajuda com a conversão de nomes de arquivos para links # válidos em HTML import urllib.request mascara_do_estilo = "'margin: 5px 0px 5px %dpx;'" def gera_estilo(nível): return mascara_do_estilo % (nível * 20) def gera_listagem(página, diretório): nraiz = os.path.abspath(diretório).count(os.sep) for raiz, diretórios, arquivos in os.walk(diretório): nível = raiz.count(os.sep) - nraiz página.write("

%s

" % (gera_estilo(nível), raiz)) estilo = gera_estilo(nível+1) for a in arquivos: caminho_completo = os.path.join(raiz, a) tamanho = os.path.getsize(caminho_completo) link = urllib.request.pathname2url(caminho_completo) página.write("

%s (%d bytes)

" % (estilo, link, a, tamanho)) if len(sys.argv)<2: print("Digite o nome do diretório para coletar os arquivos!") sys.exit(1) diretório = sys.argv[1] página = open("arquivos.html","w", encoding = "utf-8") página.write(""" Arquivos """) página.write("Arquivos encontrados a partir do diretório: %s" % diretório) gera_listagem(página, diretório) página.write(""" """) página.close()