Подтвердить что ты не робот

Как написать и сохранить html файл в python?

Вот что я знаю, как писать и сохранять его

Html_file= open"(filename","w")
Html_file.write()
Html_file.close

Но как мне сохранить файл, если я хочу написать действительно длинные коды вроде этого:

   1   <table border=1>
   2     <tr>
   3       <th>Number</th>
   4       <th>Square</th>
   5     </tr>
   6     <indent>
   7     <% for i in range(10): %>
   8       <tr>
   9       <td><%= i %></td>
   10      <td><%= i**2 %></td>
   11      </tr>
   12    </indent>
   13  </table>
4b9b3361

Ответ 1

Вы можете создавать многострочные строки, заключая их в тройные кавычки. Таким образом, вы можете сохранить свой HTML в строке и передать эту строку в write():

html_str = """
<table border=1>
     <tr>
       <th>Number</th>
       <th>Square</th>
     </tr>
     <indent>
     <% for i in range(10): %>
       <tr>
         <td><%= i %></td>
         <td><%= i**2 %></td>
       </tr>
     </indent>
</table>
"""

Html_file= open("filename","w")
Html_file.write(html_str)
Html_file.close()

Ответ 2

print('<tr><td>%04d</td>' % (i+1), file=Html_file)

Ответ 3

Вы можете попробовать:

colour = ["red", "red", "green", "yellow"]

with open('mypage.html', 'w') as myFile:
    myFile.write('<html>')
    myFile.write('<body>')
    myFile.write('<table>')

    s = '1234567890'
    for i in range(0, len(s), 60):
        myFile.write('<tr><td>%04d</td>' % (i+1));
    for j, k in enumerate(s[i:i+60]):
        myFile.write('<td><font style="background-color:%s;">%s<font></td>' % (colour[j %len(colour)], k));


    myFile.write('</tr>')
    myFile.write('</table>')
    myFile.write('</body>')
    myFile.write('</html>')

Ответ 4

Вы можете сделать это, используя write() :

#open file with *.html* extension to write html
file= open("my.html","w")
#write then close file
file.write(html)
file.close()

Ответ 5

Вы также можете сделать это, не называя close() с помощью ключевого слова with. Например:

# HTML String
html = """
<table border=1>
     <tr>
       <th>Number</th>
       <th>Square</th>
     </tr>
     <indent>
     <% for i in range(10): %>
       <tr>
         <td><%= i %></td>
         <td><%= i**2 %></td>
       </tr>
     </indent>
</table>
"""

# Write to HTML to file.html
with open("file.html", "w") as file:
    file.write(html)

Подробнее о with

см. fooobar.com/info/25175/....