我是Python新手。我想使用Python在html文件中显示MYSQL输出。我有下面的代码。但是,它不工作,实际上没有给我一个错误,所以我不确定哪里出错了。我在线查看了资源,但由于我不确定我在寻找什么,不确定搜索什么来修复这个问题。
import mysql.connector
import webbrowser
conn = mysql.connector.connect(user='root', password='pswd#',
host='mysql',database='crm')
if conn:
print ("Connected Successfully")
else:
print ("Connection Not Established")
select_users = """SELECT * FROM users"""
cursor = conn.cursor()
cursor.execute(select_users)
result = cursor.fetchall()
p = []
tbl = "<tr><td>ID</td><td>Name</td><td>Email</td></tr>"
p.append(tbl)
for row in result:
a = "<tr><td>%s</td>"%row[0]
p.append(a)
b = "<td>%s</td>"%row[1]
p.append(b)
c = "<td>%s</td></tr>"%row[2]
p.append(c)
contents = '''<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Python Webbrowser</title>
</head>
<body>
<table>
%s
</table>
</body>
</html>
'''%(p)
filename = 'python.html'
def main(contents, filename):
output = open(filename,"w")
output.write(contents)
output.close()
main(contents, filename)
webbrowser.open(filename)
if(conn.is_connected()):
cursor.close()
conn.close()
print("MySQL connection is closed.")
我在浏览器输出中得到的是这样的。
我期待的结果:我想用pything/mysql在html文件中显示该表。我使用的是雅虎虚拟主机,我可以在html文件中使用打印(“你好,世界!”)并获得输出。
如果有人能给我指出正确的方向,我将非常感激。谢谢。
1条答案
按热度按时间643ylb081#
使用 new style
str.format
符号。{}
用于占位符,然后调用format
来填充它们(如果是可迭代的,不要忘记解包它!)技巧:创建自己的模板,然后在代码中的任何位置调用它们。
产出
对于您的问题:正如我在注解中提到的,
str.join
是必需的。p
是一个列表,因此,为了具有一致的输出,您必须使用str.join
方法将其返回为字符串:term separator - join -> string
,其中term seperator
是用于分隔列表中每个术语的字符串,可用于换行符等。