【问题标题】:Using Python Variables in HTML in multiline Python string在多行 Python 字符串中使用 HTML 中的 Python 变量
【发布时间】:2022-02-04 04:58:29
【问题描述】:

我正在尝试使用 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”,这样用户就可以输入网址了。所以我的问题是,我可以将 Python 变量而不是 URL 放入 HTML 代码中吗? 例如:

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

当然,我知道语法是非常错误的,我只是想给你一个我想要实现的例子。 干杯!

【问题讨论】:

  • 字符串格式化听起来像是一个对您有用的主题:pyformat.info

标签: python html


【解决方案1】:

如果你使用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>
>>>

【讨论】:

    【解决方案2】:

    您需要研究变量插值(或更一般地说,字符串格式)。看看this post。举个简单的例子:

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

    ...将输出...

    hello
    world
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 2016-05-23
      • 1970-01-01
      • 2021-10-04
      相关资源
      最近更新 更多