Python中文
首页
教程
问答
标签
搜索
登录
注册
错误:在python中赋值之前引用了局部变量
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个pythonwebsocket客户端代码</p> <pre><code>run_once1 = True run_once2 = False def on_message(ws, message): if 'Temp' in message: if run_once1 is True: #Run this code once print("Temp is present") run_once1 = False run_once2 = True else: if run_once2 is True: #Run this code once print("Temp is not present") run_once1 = True run_once2 = False def on_error(ws, error): print(error) def on_close(ws): print("CLOSE ") def on_open(ws): print("OPEN") msg = "<MESSAGE>" ws.send(msg) ws = websocket.WebSocketApp(URL, on_message= on_message, on_error=on_error, on_close=on_close) ws.on_open = on_open ws.run_forever() </code></pre> <p>所以在上面的代码中,我打开了一个websocket,然后每当我收到新消息时,<code>on_message()</code>函数就会被调用。在这个函数中,我在消息中寻找标记<code>Temp</code>。如果它存在,我只想打印它并运行一次。接下来,当<code>Temp</code>不存在时,我想打印它并只运行一次该代码。但是上面的代码给出了错误:</p> <p><code>error from callback <function on_message at 0x000001D35366D840>: local variable 'run_once1' referenced before assignment</code></p> <p><code>error from callback <function on_message at 0x000001D35366D840>: local variable 'run_once2' referenced before assignment</code></p> <p>我应该把这些变量写在哪里,这样它就不会给我这个错误了。在</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>为了分配给函数内的全局变量,需要在该函数中将其声明为全局变量。例如:</p> <pre><code>def on_message(ws, message): global run_once1 global run_once2 # remainder of function as before </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
1 回答
如何添加表示整数的擦边字符串?
6 回答
如何添加要在Bokeh中使用的新font.ttf文件?
4 回答
如何添加要显示的矩阵XY轴编号和XY轴
10 回答
如何添加计数?
8 回答
如何添加计数器函数?
10 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
3 回答
如何添加计数器来跟踪while循环中的月份和年份?
5 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
2 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
9 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
3 回答
如何添加评论拉梅尔亚姆
8 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
5 回答
如何添加谷歌地点自动完成到Flask?
7 回答
如何添加超时、python discord bot
3 回答
如何添加超过1dp的检查
6 回答
如何添加距离方法
10 回答
如何添加跟随游戏的敌人精灵
8 回答
如何添加路径以便python可以找到程序?
1 回答
如何添加身份验证/安全性以使用happybase访问HBase?
10 回答