Python中如何将变量嵌入HTML代码并写入文件的问题求助
Python中如何将变量嵌入HTML代码并写入文件的问题求助
嘿,刚学Python第一学期就能尝试生成HTML文件,已经很棒啦!我看你现在的问题是不知道怎么把name和describe这两个变量的值正确嵌入到HTML字符串里,然后写入文件对吧?
你当前的代码里直接在双引号字符串里写{name}和{describe},但Python的普通字符串是不会自动解析这些占位符的,所以需要用字符串格式化的方法来让Python把变量值填进去。下面给你几种简单好用的解决办法:
方法1:用f-string(推荐,Python3.6+支持)
这是现在Python里最简洁直观的字符串格式化方式,只要在字符串前面加个f,里面的{变量名}就会自动替换成对应变量的值。另外,我还帮你调整了代码里的小问题(比如多余的</center>标签,没有对应的开标签),同时推荐用with语句来操作文件——它会自动帮你关闭文件,比手动调用close()更安全:
name = input('Enter your name:') describe = input('Describe yourself:') # 用with语句管理文件,自动关闭 with open('index.html', 'w') as function: # 前面加f启用f-string格式化 function.write(f"""<html> <head> <title> Output Data in an HTML file </title> </head> <body> <h1>{name}</h1> <hr/> {describe} <hr/> </body> </html>""")
方法2:用str.format()方法
如果你的Python版本比较旧(3.5及以前),可以用str.format()来填充变量,写法是在字符串末尾调用这个方法,把变量传进去:
name = input('Enter your name:') describe = input('Describe yourself:') with open('index.html', 'w') as function: html_content = """<html> <head> <title> Output Data in an HTML file </title> </head> <body> <h1>{name}</h1> <hr/> {describe} <hr/> </body> </html>""".format(name=name, describe=describe) function.write(html_content)
小提醒
你原来的代码里有个单独的</center>标签,但是没有对应的<center>开标签,这样的无效标签可能会导致HTML渲染出小问题,所以我在修改后的代码里去掉啦。
这样修改后,运行程序输入你的名字和自我介绍,生成的index.html文件里就会正确显示你输入的内容啦!
备注:内容来源于stack exchange,提问作者Qui333
相关产品推荐
相关产品推荐

