在多行Python字符串中使用HTML中的Python变量

时间:2017-08-10 22:36:51

标签: python html

我正在尝试使用python编写HTML代码并从浏览器执行它。这是我的代码:

import webbrowser

f = open('image.html','w')

message = """<html>
<head></head>
<body><img src="URL"></body>
</html>"""

f.write(message)
f.close()

filename = 'file:///home/pi/' + 'image.html'
webbrowser.open_new_tab(filename)

简单的代码,就像一个魅力!

现在我想做一点¨UI¨,这样用户就可以输入URL了。所以我的问题是,我可以将Python变量放入HTML代码而不是URL吗? 例如:

a = ¨webpage.com/image.jpg¨
...
<img src="a">
...

当然,我知道语法是错误的,我只是想举例说明我想要实现的目标。 干杯!

1 个答案:

答案 0 :(得分:2)

如果您使用的是python 3.6+,则可以使用formatted strings literals

>>> URL = "http://path.to/image.jpg"
>>> message = f"""<html>
... <head></head>
... <body><img src="{URL}"></body>
... </html>"""
>>> print(message)
<html>
<head></head>
<body><img src="http://path.to/image.jpg"></body>
</html>
>>>

如果您使用的是python 2.7+,则可以使用string.format()

>>> URL = "http://path.to/image.jpg"
>>> message = """<html>
... <head></head>
... <body><img src="{}"></body>
... </html>"""
>>> print(message.format(URL))
<html>
<head></head>
<body><img src="http://path.to/image.jpg"></body>
</html>
>>>