【发布时间】:2015-05-07 17:15:41
【问题描述】:
我正在开发一个名为“Ilmiont DDNS Alerter”的简单 Python 程序。正如标题所示,目的是让您知道您的动态 IP 地址何时发生变化。
它通过咨询外部服务器来做到这一点。在 Tkinter GUI 中,用户可以选择一个时间频率来更新它。当他们启动更新程序时,我想安排更新功能每 x 分钟运行一次,由用户指定。我见过 sched 模块,但它似乎只安排一次。如何让它在间隔内重复检查新 IP 直到停止?
我无法确定如何安排此活动。此外,当更新程序运行时,GUI 会在进程完成时无响应。这可能需要几秒钟,尤其是在连接速度较慢的情况下。大概线程会克服这个问题?
【问题讨论】:
-
你能列出并展示你迄今为止尝试过的东西吗?
-
好吧,我看到另一个人使用了 sched 模块来安排 x 分钟,正如我提到的。然后,在被调用的函数中,他们将新的运行安排为最后一件事,但这似乎相当粗糙,我不确定如何在按钮上取消它。并且它会导致 GUI 无响应问题。
-
为避免阻塞您的 GUI,您可以使用线程或
createfilrhandler()异步执行 I/O。见links with code examples in my comments to the related question
标签: python multithreading networking tkinter schedule