2017-08-10 82 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