2011-09-27 4 views
-1

J'ai écrit un script python pour convertir un fichier texte en fichier html. Mais c'est inutile si je ne peux pas tout mettre ensemble. Ce que je suis censé faire est d'afficher tous les rapports sur le site Web (la partie serveur n'est pas mon problème). Maintenant, je peux convertir chaque fichier en HTML, mais je réalise que c'est une énorme bibliothèque de fichiers. Comment puis-je les combiner tous?Python/html- Combiner plusieurs html en un

Voici ce que je pense comment les mettre ensemble, par exemple:
Dites ceci est la page d'accueil:

Date:
- Report 1
- Report 2
- Report 3
...

Quelques liens hypertextes comme ça (les liens ici sont juste faux, juste pour vous montrer à quoi je pense) ... l'utilisateur cli ck dessus pour voir le rapport. Beaucoup plus organisé que tous les fichiers html qui traînent partout - C'est exactement ce que je pense à haute voix.
Mais le problème est comment j'ai automatiquement tous les rapports html combinés sous un certain champ de date.
Existe-t-il un guide pour cela? Je suis totalement perdu, je ne sais pas par où commencer

+2

Vous ** ** ne comprennent que les liens sont des fichiers sur votre machine locale, et sont donc sans valeur pour le reste d'entre nous, non? –

+0

Je sais. Mais ce n'est qu'un exemple – BPm

+0

Un exemple de ** quoi **? Quiconque n'est pas physiquement assis devant votre ordinateur ** est incapable de voir le code HTML dans les liens que vous avez fournis **. –

Répondre

4

Créer une liste de tuples en Python. Puis les trier en place. Puis itérer sur la liste et produire votre page d'accueil HTML. Ci-dessous un exemple. Vous devez remplir les URL et la date de chaque rapport (soit comme objet de date ou comme une chaîne, par exemple: '09 -12 à 2011')

report_tuples = [ 
    ('http://www.myreport.com/report1', report1_date_object_or_string), 
    ('http://www.myreport.com/report2', report2_date_object_or_string), 
    ('http://www.myreport.com/report3', report3_date_object_or_string), 
] 
sorted(report_tuples, key=lambda reports: reports[1]) # sort by date 
html = '<html><body>' #add anything else in here or even better 
         #use a template that you read and complement 
lastDate = None 
for r in report_tuples: 
    if not lastDate or not lastDate == r[1]: 
     html += '<h3>%s</h3>' % (str(r[1])) 
    html += '<a href="%s">Your Report Title</a>' % (r[0]) 

return html #or even better, write it to the disk. 

Voici quelques URL qui pourraient aider:

How to sort a list in place

Python data structures in general

Questions connexes