Je suis en train d'écrire un document Web de fichier texte en utilisant python (étudiant uni première année d'apprentissage les concepts de base de python)Comment remplacer plusieurs instances d'une sous-chaîne dans une chaîne à l'aide d'une boucle for (dans une fonction)?
que j'ai un modèle HTML comme ceci:
html_template = """<!DOCTYPEhtml>
<html>
<head>
<title>News Archive</title>
</head>
<body>
<br>
<ol>
<!-- Article 1 -->
<h1>***TITLE***</h1>
<img src=***IMGURL***
<p>***DESCRIPTION***</p>
<p><strong> Full story: </strong> ***LINK*** </p>
<p><strong> Dateline: </strong> ***PUBDATE*** </p>
<br/>
<!-- Article 2 -->
<h1>***TITLE***</h1>
<img src=***IMGURL***
<p>***DESCRIPTION***</p>
<p><strong> Full story: </strong> ***LINK*** </p>
<p><strong> Dateline: </strong> ***PUBDATE*** </p>
</body>
</html>
"""
permet de dire que je voulez remplacer toutes les instances de ***TITLE***
par des chaînes dans une liste dans l'ordre. Voici la liste contenant des chaînes:
titles = ['HI', 'HELLO']
Pour remettre en place la première instance de ***TITLE***
avec 'HI'
et la deuxième instance de ***TITLE***
avec 'HELLO'
, je ferais ceci:
for t in titles:
html_template = html_template.replace('***TITLE***', t, 1)
Mais si je voulais créer une boucle for (dans une fonction) qui remplace, par exemple, ***TITLE***
avec une liste respective contenant 10 chaînes, ***IMGURL***
avec une liste respective contenant 10 chaînes, ***DESCRIPTION***
avec une liste respective contenant 10 chaînes, et ainsi de suite pour le reste des espaces réservés et leurs listes de 10 chaînes respectives?
J'ai essayé la fonction ci-dessous, mais l'environnement IDLE dit qu'il ne fonctionne pas: erreur de syntaxe et EOF Python inattendu lors de l'analyse. Les endroits où il s'est trompé sont:
1. extract_file(file)
-Quand je tente de le tester dans la fenêtre shell en faisant yo = generate_html('file.html')
(fichier.html est le nom du fichier) et en imprimant yo, la fenêtre shell retourne None
.
2. for i in image_url:
- dit erreur de syntaxe lors de la lecture sur :
La fonction:
def html_extract(file):
extract_file(file) (calls the respective lists for respective placeholder)
for t in titles:
html_code = html_template.replace('***TITLE***', t, 1)
for i in image_url:
html_code = html_code.replace('***IMGURL***', i, 1)
for d in descriptions:
html_code = html_code.replace('***DESCRIPTION***', d, 1)
for l in links:
html_code = html_code.replace'***LINK***', l, 1)
for p in pubdates:
html_code = html_code.replace('***PUBDATE***', p, 1)
Il y a trop de parties de votre code qui manquent pour reproduire/identifier les problèmes que vous rencontrez, et peut-être trop de problèmes pour une seule question. Veuillez modifier votre message pour ajouter tout le code pertinent (et uniquement le code approprié) pour que tout le monde puisse le copier et l'exécuter et avoir exactement les mêmes problèmes que vous. –