Python:UnboundLocalError:赋值之前引用的局部变量[关闭]

2024-02-28

我在Python线程(服务器)中有一段代码,但是当我运行客户端时,发现了这些错误:“UnboundLocalError:赋值前引用了局部变量‘stop’”:

import threading
import msvcrt

stop = False
Buffer= 1024

class ChatServer(threading.Thread):
   def __init__(self,channel,addr,counter):
       self.channel = channel
       self.addr = addr
       self.counter = counter
       threading.Thread.__init__(self)
       self.start()

   def run(self):
       # press s to trigger
       if msvcrt.kbhit():
           if msvcrt.getch() == 's':
               stop = True
               print "Login is closed closed.\n"
       while 1:
           if (stop == False):
               print "\nClient connection received!\n"
               self.channel.send("Status: Server connection received")

counter = 0                   
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(("",500))
server.listen(20)

while True:
    print "\nServer awaiting connections....\n"
    channel, addr = server.accept()
    counter += 1
    ChatServer(channel,addr,counter)

您只需设置变量stop在非常特定的条件下,并且永远不要将其设置为False。添加显式stop = False到顶部run()功能。

def run(self):
   stop = False
   # press s to trigger
   if msvcrt.kbhit():
       if msvcrt.getch() == 's':
           stop = True
           print "Login is closed closed.\n"
   while 1:
       if (stop == False):
           print "\nClient connection received!\n"
           self.channel.send("Status: Server connection received")

You probably想要设置stop inside the while在某个时刻循环,就目前情况而言,如果stop = True到达了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:UnboundLocalError:赋值之前引用的局部变量[关闭] 的相关文章

随机推荐

  • 如何消除 scaladoc 中方法链接的歧义?

    我正在记录一个 Scala 类重载方法 https en wikipedia org wiki Function overloading 在 scaladoc 注释中引用它们时如何区分它们 例如 如果我有 The most importan
  • java中传递接口引用和类引用的区别

    传递接口引用或类引用之间有什么区别 如示例所示 Interface MyInterface void foo public class MyClass implements MyInterface public void foo doJob
  • 在 RESTful 服务中表示“即发即忘”操作的 HTTP 方法

    考虑到 REST 将 HTTP 方法映射到 CRUD 操作相对容易 POST 用于创建 GET 用于读取等 但是 即发即忘 操作又如何呢 哪种 HTTP 方法最能代表 即发即忘 操作 例如触发批处理作业 其中不会向调用方发送任何响应 我会想
  • 如何配置 FlatFileItemWriter 将文件输出到 ByteArrayRecource?

    我遇到的情况是部署服务器不允许应用程序将文件输出到其文件系统 所以我要做的是配置FlatFileItemWriter 将结果文件输出到静态Resource属性 多线程在这里不是问题 我当前的代码是 flatFileItemWriter se
  • Azure Functions 应用程序见解中的自定义属性

    我正在 Azure Application Insights 中监视大量应用程序 在所有这些中 我向事件 跟踪等添加了一些自定义属性 以便我可以在门户中进行过滤 分组 是否可以将相同的自定义属性添加到与 Azure Functions 的内
  • 几秒钟后画布性能下降

    我编写了以下 1000 个边界方块演示来测试 HTML5 画布的功能 一开始运行良好 但几秒钟后 fps 明显下降 我不知道为什么 任何指示将不胜感激 var c document getElementById canvas var con
  • 通过Powershell十六进制编辑二进制文件的方法

    我正在尝试仅使用 PowerShell 从命令行执行二进制十六进制编辑 我已经部分成功地用这个片段执行了十六进制替换 我的问题出现时123456发生多次 因为替换只应该在特定位置进行 Note 该片段需要Convert ByteArrayT
  • 将 Bokeh 更新为 0.5.0,现在可以在一个窗口中绘制所有以前版本的图表

    在更新之前 我会运行脚本并输出 html 文件 窗户上将有我的一处地块 我会对我的脚本进行更改 运行它 输出 html 文件 查看新的绘图 然后我再次安装该库以使用 conda 更新它 我对脚本做了一些更改 再次运行它 输出文件包括我进行一
  • 一张背景图片适用于多个 div

    我想使用 1 个背景图像 1366x768 在多个 div 中使用 但如果我使用 my divs background image url image jpg 我只有每个 div 上图像的左上角 我想使用基于 div 位置的图像部分 我可以
  • 如何使用Slick2.0.1映射postgresql自定义枚举列?

    我就是想不通 我现在使用的是 abstract class DBEnumString extends Enumeration implicit val enumMapper MappedJdbcType base Value String
  • Maven - java.net.BindException:地址已在使用中

    我正在尝试在 Ubuntu 12 04 中运行以下命令 mvn jetty run 并收到以下错误 2013 09 04 13 21 32 843 WARN failed email protected cdn cgi l email pr
  • 基于另一个 Observable 的自定义过滤器的函数反应运算符

    为了好玩和学习 我尝试使用函数反应式编程在我的应用程序中实现撤消系统 我有一个状态更改流 需要将其保存到撤消堆栈中 当用户单击撤消时 我从堆栈中获取一个值并相应地更新应用程序状态 问题是此更新本身也会在状态更改流中生成一个事件 所以我想要的
  • 目前不存在哪些有用的 R 包? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AVAudioPlayer:音量按钮在某些设备上有效,在其他设备上无效

    我有一个应用程序使用AVAudioPlayer播放一些嵌入的 MP3 文件 音量按钮在我主要用于测试的 3GS 上工作可靠 它们在 4 1 下工作 升级到 4 3 1 后现在可以工作 在我老板运行 4 2 1 的 iPhone 4 上 它们
  • 创建 XML 站点地图生成器 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想创建一个 XML 站点地图生成器 我有一个脚本 如果与其他文件一起放置在您的目录中 它会创建一个站点地图 但我想创建一个可以使用
  • 为r中的每个变量按组汇总表中的数据

    我有一些数据 我想用 R 中的一些汇总值正确格式化 我已经玩过aggregate和其他事情 例如summaryBy 但没有一个产生我想要的结果 这是数据 data lt data frame id c 1 2 3 4 5 6 7 8 9 1
  • android 无法从服务器加载图像

    在这里 我尝试从服务器下载图像 但它总是抛出异常 任何人都可以告诉我为什么会发生这种情况以及正确的方法是什么 public static String getBitmap String url throws IOException Inpu
  • 多个键名,相同的对值

    我正在尝试在 JavaScript 脚本中设置一个对象文字 该脚本具有具有多个名称的键 引用相同的对象值 即我已经尝试过的类似内容 var holidays thanksgiving day thanksgiving t day someV
  • 包装对象返回值(例如 Integer)是否会导致 Java 中的自动装箱?

    对于这个看似简单的问题 我找不到明确的答案 如果我写一个这样的方法 public Integer getAnInt int i 4 return i 0 返回值是否自动装箱为 Integer 还是取决于返回值后发生的情况 例如 分配给它的变
  • Python:UnboundLocalError:赋值之前引用的局部变量[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我在Pyt