使用Python编辑和创建HTML文件

时间:2016-02-12 05:08:04

标签: python html python-3.x python-import

我是Python新手。我目前正致力于使用python创建HTML文件的任务。我理解如何将HTML文件读入python,然后编辑并保存。

$( document ).ready(function() {
    $('.aw-current-weather-inner h3').replaceWith( "<h3>Dubai, UAE</h3>" );
});

上面这篇文章的问题是它只是替换整个HTML文件并将字符串放在write()中。如何编辑文件,同时保持其内容不变。我的意思是,写这样的东西,但在 body标签

table_file = open('abhi.html', 'w')
table_file.write('<!DOCTYPE html><html><body>')
table_file.close()

我需要链接自动进入开始和结束的身体标签。

2 个答案:

答案 0 :(得分:16)

您可能想要read up on BeautifulSoup

import bs4

# load the file
with open("existing_file.html") as inf:
    txt = inf.read()
    soup = bs4.BeautifulSoup(txt)

# create new link
new_link = soup.new_tag("link", rel="icon", type="image/png", href="img/tor.png")
# insert it into the document
soup.head.append(new_link)

# save the file again
with open("existing_file.html", "w") as outf:
    outf.write(str(soup))

给出像

这样的文件
<html>
<head>
  <title>Test</title>
</head>
<body>
  <p>What's up, Doc?</p>
</body>
</html>  

这会产生

<html>
<head>
<title>Test</title>
<link href="img/tor.png" rel="icon" type="image/png"/></head>
<body>
<p>What's up, Doc?</p>
</body>
</html> 

(注意:它已经捣乱了空白,但得到了正确的html结构)。

答案 1 :(得分:0)

您正在使用写入(w)模式,该模式将删除现有文件(https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files)。改为使用追加(a)模式:

table_file = open('abhi.html', 'a')