在 python 中将数据发送到 Web 浏览器时出错
Posted
技术标签:
【中文标题】在 python 中将数据发送到 Web 浏览器时出错【英文标题】:Error sending data to web browser in python 【发布时间】:2012-11-25 21:20:29 【问题描述】:当我在控制台中测试我的模块时,没有给出错误,但是当我尝试从浏览器接收数据时,我收到一条错误消息:
UnboundLocalError: local variable 'mile' referenced before assignment
这是我的代码的相关部分:
while cursor.alive:
try:
doc = yield motor.Op(cursor.next_object)
if doc:
mileInfo='time': doc['time_normal']
print doc['term']
if doc['term'] == 'abc':
event = 'abc'
elif doc['term'] == 'def':
event = 'def'
elif doc['term'] == 'xyz':
event = 'xyz'
else:
event = 'rst'
if not doc['coordinates']:
placeName = doc['place']['full_name']
mile = from_name(placeName, event)
print 'from Name: ' ,mile, 'term: ', event, doc['place']['full_name']
else:
mile = get_coords(doc['coordinates']['coordinates'], event)
print 'from coordinates: ',mile, 'term: ', event, 'location:', doc['coordinates']['coordinates']
mileInfo['miles'] = mile
self.write_message(json.dumps(mileInfo, default = json_util.default))
except StopIteration:
pass
except:
traceback.print_exc()
我很困惑为什么我只从网络浏览器收到此错误。
谢谢
【问题讨论】:
你的缩进很糟糕;这可能是你的问题的原因。 @MartijnPieters 我很惊讶它能运行。它不会在某些方面的编译失败吗? 感谢您的回复。缩进是从我的工作区复制代码。我认为它被改变了。这是我得到的唯一回溯。 【参考方案1】:我能够通过声明一个全局变量“mile”以及清理缩进来对错误进行排序(感谢@MartijnPieters 的建议)。所以我在这里插入了一个全局变量:
while cursor.alive:
try:
doc = yield motor.Op(cursor.next_object)
global mile
if doc: ...............
【讨论】:
以上是关于在 python 中将数据发送到 Web 浏览器时出错的主要内容,如果未能解决你的问题,请参考以下文章
我如何在节点 js 中将通知应用程序发送到 web 我是 nodejs 的新手,如果可以的话
在 Python 中将 ENTER 按键发送到没有 gui 的后台 exe