在 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 的新手,如果可以的话

Web Sockets 在快速发送数据时行为不端

在 Python 中将 ENTER 按键发送到没有 gui 的后台 exe

如何使用python从熊猫数据框中将电子邮件发送到具有不同主题的不同收件人地址

如何在 python 中将日志发送到 syslog?

无法在后台服务中将数据发送到Firebase