2017-08-10 93 views
-2

我正在尝试使用python编写HTML代码并从浏览器执行它。这里是我的代码:在多行Python字符串中使用HTML变量在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"> 
... 

可以肯定的,我知道,语法错误超强,我只是想给你的东西我正尝试实现的例子。 欢呼!

+2

字符串格式化听起来像是一个主题,将是有益的您在读了起来:https://开头pyformat 。信息/ – Carter

回答

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> 
>>> 
1

你需要考虑变量插值(或更一般地,字符串格式化)。看看this post。为了给你一个简单的例子:

foo = "hello" 
bar = """world 
%s""" % foo 

print bar 

...将输出...

hello 
world