python干净地退出类循环

时间:2017-02-01 07:49:19

标签: python

我有一个python CLASS,我无法通过调用stop方法完全退出。

我在循环中有一个小延迟,以便我可以尽快捕获停止请求:

from time import sleep
more imports...

class XXX:
    def __init__():
        self.enable = True
        more code...

    def stop(self):
      self.enable = False

    def loop(self):
      do something....   

    def run(self):
      while self.enable:    
        self.loop()
        for i in range(15):
          if(not self.enable):
            break
          else:
            sleep(1)

循环运行正常,直到我调用stop()方法并且它崩溃为:

NameError: name 'sleep' is not defined

如何彻底退出?

1 个答案:

答案 0 :(得分:1)

sleep属于time模块。所以只需在顶部添加:

from time import sleep

import time

然后打电话给睡觉:

time.sleep(1)