staging.inyokaproject.org

Python file write html

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

dsm4

Anmeldungsdatum:
9. April 2021

Beiträge: 20

Hallo, ich möchte mit python eine html datei schreiben. Ungefähr so:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
f = open("test.html", "w")
f.write("<!DOCTYPE html>")
f.write("<html lang="de">")
f.write("  <head>")
f.write("    <meta http-equiv="content-type" content="text/html; charset=UTF-8">")
f.write("    <title>Test</title>")
f.write("  </head>")
f.write("  <body style="background-color:black;"> ")
f.write("	  <h1 style="color:white; font-size:35px" align="center">Test</H1>")
f.write("  </body>")
f.write("</html>")
f.close()

Jedoch kommt immer dieser Error:

1
2
3
    f.write("<html lang="de">")
                         ^
SyntaxError: invalid syntax

bei allem anderen auch. War eigentlich klar das das so kommt.

Wie löst man das am besten? Möchte bei python bleiben, da ich später noch ein paar f strings hinzufügen werde.

Axel-Erfurt

Anmeldungsdatum:
18. Mai 2016

Beiträge: 1347

1
f.write('<html lang="de">')

sollte gehen.

Axel-Erfurt

Anmeldungsdatum:
18. Mai 2016

Beiträge: 1347

Du musst auch nicht jede Zeile einzeln schreiben.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
html = '''<!DOCTYPE html>
<html lang="de">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Test</title>
  </head>
  <body style="background-color:black;">   
  	  <h1 style="color:white; font-size:35px" align="center">Test</H1>
</body>
</html>
'''
with open("test.html", "w") as f:
    f.write(html)
    f.close()

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2136

Wobei f.close() entfällt, wenn man Dateien mit dem with-Statement öffnet. Die letzte Zeile sollte daher weg.

Saddy

Anmeldungsdatum:
2. Mai 2006

Beiträge: 1148

Dafür nimmt man eigentlich eine Templating-Engine wie Jinja

Antworten |