2017-02-12 3 views
1

Wenn ich den folgenden Code eingeben, gibt es mir eine leere HTML-Seite. Obwohl ich ein <h1> und ein <a href> Tag einstelle. Nur der Tag <title> wird ausgeführt. Weiß jemand, warum und wie man es repariert?HTML-Zeichenfolge in Python-Datei wird nicht wie erwartet ausgeführt

Code:

my_variable = ''' 
      <html> 
       <head> 
        <title>My HTML File</title> 
       </head> 
       <body> 
        <h1>Hello world!</h1> 
        <a href="https://www.hipstercode.com" target = "_blank">Click me</a> 
       </body> 
      </html>''' 

my_html_file = open(r"\Users\hp\Desktop\Code\Python testing\CH\my_html_file.html", "w") 

my_html_file.write(my_variable) 

Vielen Dank im Voraus!

+1

Es könnte sein, dass Sie die Datei nicht richtig schließen. Probieren Sie 'mit open (...) als my_html_file: my_html_file.write (my_variable)'. –

+0

Es funktioniert für mich. Wohlgemerkt, ich verwende einen anderen Namen für die HTML-Datei. Ich sehe den Titel, die Überschrift h1 und den Link. –

+0

Wie öffnest du die HTML-Datei? –

Antwort

0

Wie @ Bell sagte, ist es wahrscheinlich, weil Sie Ihre Datei nicht geschlossen haben (so hat es nicht seinen Puffer geleert).

also in Ihrem Fall:

my_html_file = open(r"\Users\hp\Desktop\Code\Python testing\CH\my_html_file.html", "w") 
my_html_file.write(my_variable) 
my_html_file.close() 

Aber dies ist nicht der richtige Weg, es zu tun. Wenn beispielsweise in der zweiten Zeile ein Fehler auftritt, wird die Datei niemals geschlossen. So können Sie die with Anweisung verwenden, um sicherzustellen, dass es immer ist. (Wie @Rawing sagte)

with open('my-file.txt', 'w') as my_file: 
    my_file.write('hello world!') 

So in der Tat, es ist wie wenn Sie getan haben:

my_file = open('my-file.txt', 'w') 
try: 
    my_file.write('hello world!') 
finally: 
    # this part is always executed, whatever happens in the try block 
    # (a return, an exception) 
    my_file.close() 
Verwandte Themen