我最近一直在玩pybluez模块来扫描附近的蓝牙设备。我现在想做的是扩展程序,也找到附近的WiFi客户端设备。在
WiFi客户端扫描仪需要有一个While True
环路来持续监控电波。如果我把它写成一个简单的,一个文件的程序,那就很容易了。在
import ...
while True:
client = scan()
print client['mac']
但是,我想要的是把它做成一个模块。我希望以后能够重用它,并且有可能让其他人也使用它。我搞不懂如何处理循环。在
^{pr2}$假设第一个示例代码是“mymodule”,这个程序将简单地将数据输出到stdout。我希望能够在我的程序中使用这些数据,而不是让模块打印出来。。。在
我应该如何编码模块?在
我认为最好的方法是让扫描器在主程序之外的另一个线程上运行。该模块应具有启动和停止扫描仪的方法,以及返回当前访问点列表(使用锁进行同步)的另一个方法。参见threading module。在
两个接口会很有用。在
一个接受回调的“notify on found”函数。例如(可能是打字错误,我只是即兴写下的)。在
这样做会用到:
不如简单点,比如:
在我的模块.py在
在其他模块.py在
^{pr2}$如果你想要比这更有用的东西,我也建议使用@kindall那样的后台线程。在
相关问题 更多 >
编程相关推荐