Hier kommt dann auch schon mein nächstes Problem.
Ich habe mir mit HTML mal ein paar Templates erstellt.
Platzhalter im Format: <+++Platzhaltername+++> sind dabei eingefügt.
Es besteht ein Dictionary. In den Keys sind die Platzhalternamen, und der zugehörige Wert ist dann der zugewiesene Wert.
das HTML-Dokument sieht beispielsweise so aus:
Code: Alles auswählen
<html>
<head></head>
<body>
<h1><+++Titel+++></h1>
<span style="font-size:13pt;"><+++Text+++></span>
</body>
</html>
Code: Alles auswählen
import os
mydict = {'Titel':'Hallo Welt!', 'Text':'Kleines Testprogram'}
for file in os.listdir('.'):
if 'Template' in file \
and '.html' in file:
html = open(file, 'rw')
content = html.read()
for key in mydict.key():
content.replace('<+++' + key + '+++>', mydict[key])
html.write(content)
html.close()
Ich bekomme einen Error: IOError: Bad file descriptor in der Zeile: html.write(content)
Woran könnte das liegen?
lg,
...
EDIT: Die Datei ist richtig geöffnet:
Ich kann mir den content mit Print einfach ausgeben lassen, und alles stimmt.
Lediglich beim Schreiben bekomme ich Probleme...
Wobei es eigenartigerweise einen unterschied macht, ob ich es so wie o.g mache, oder einfach schreibe:
Code: Alles auswählen
file = open('MyTemplate1.html', 'rw')
file.write('blub')
file.close()
--------
#Einen Teil habe ich vergessen:
#Die Templates liegen im Ordner Templates.
#Zu beginn Kopiere ich sie mit shutil.copy in das Arbeitsverzeichnis #(derzeit das Verzeichnis '.') - das in welchem auch das Script läuft.
#Allerdings: Nach dem Error ist die Datei noch nicht einmal kopiert!
Stimmt nicht: Ist doch schon da.