【发布时间】:2019-03-22 21:07:52
【问题描述】:
html += '''
<table style="width:100%">
<tr align="center">
<th style="width:10%">Metrics</th>
'''
def get_bus_metrics (met,name):
for i in met:
html += '<th>' + str(i) + '</th>'
html += '''</tr>'''
html += '''<tr><th>''' + name +'''</th>'''
get_bus_metrics (g1,'R')
UnboundLocalError: 赋值前引用了局部变量 'html'
我收到此错误。 有人可以建议我在这里缺少什么,为什么会出现上述错误。
【问题讨论】:
-
你的意思是在第一行使用 += 吗?如果尚未分配 html 并且您尝试将其添加到其中,那么这就是您的错误来自的地方
-
您正在为 python 2.7 和 3.6 创建 crioss-workable 代码?如果没有,请仅标记您使用的版本。
-
@strava Html 在
<table>标签之前需要一个<html>和<body>标签才有意义。第 1 行可能是复制和粘贴问题。问题更可能是代码在全局范围内使用html并尝试在get_bus_metric()函数中修改它而不将其声明为全局或将其作为参数提供 - += 也命中 -
@PatrickArtner 我刚刚回复了您的代码,请您看一下。我无法将函数输出到 html 代码
标签: python html python-3.x python-2.7