【问题标题】:python script problem once build and package itpython脚本问题一旦构建并打包它
【发布时间】:2011-02-13 16:36:39
【问题描述】:

我编写了python脚本来扫描wifi并将数据发送到服务器,我设置了间隔值,所以它继续扫描并发送数据,它从我设置要扫描的间隔值的config.txt文件中读取,我还在我的配置文件中添加了是/否,所以“否”它只会扫描一次,如果“是”它将根据间隔级别进行扫描,

我的代码如下

import time,.....

from threading import Event, Thread

class RepeatTimer(Thread):
    def __init__(self, interval, function, iterations=0, args=[], kwargs={}):
        Thread.__init__(self)
        self.interval = interval
        self.function = function
        self.iterations = iterations
        self.args = args
        self.kwargs = kwargs
        self.finished = Event()

    def run(self):
        count = 0
        while not self.finished.is_set() and (self.iterations <= 0 or count < self.iterations):
            self.finished.wait(self.interval)
            if not self.finished.is_set():
                self.function(*self.args, **self.kwargs)
                count += 1

    def cancel(self):
        self.finished.set()

    def scanWifi(self):
        #scanning process and sending data done here


obj = JW()
if status == "yes":
    t = RepeatTimer(int(intervalTime),obj.scanWifi)
    t.start()
else:
    obj.scanWifi()

一旦我打包了我的代码,它只会在我将我的配置文件设置为“否”时运行,它只扫描一次,但是当我将我的配置文件设置为“是”时,根本没有任何进展,所以我发现我的类RepeatTimer(Timer) 有问题,但是不知道怎么解决

谁能帮帮我

谢谢

【问题讨论】:

    标签: python build package


    【解决方案1】:

    我认为问题在于循环条件。假设is_set() 返回False,第二部分总是False。虽然intervalTime 是未知的,但我认为它是积极的(是否感觉到负间隔时间?)并且count 永远不会小于self.iterations:它们都是0

    但是你贴的代码太少了,不知道具体是怎么工作的。

        while not self.finished.is_set() and (self.iterations <= 0 or count < self.iterations):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 2014-08-01
      相关资源
      最近更新 更多