yangj0 2018-10-28
本着这个目标,我开发了一个简单的console接口,通过继承抽象类的方式来保证程序提供一个命令行式交互界面,实时动态的监控调整正在运行的程序。
想要学习Python。关注小编头条号,私信【学习资料】,即可免费领取一整套系统的板Python学习教程!
先写个例子简单演示一下:
创建test_console.py,编写如下代码
执行
python test_consoler.py
执行情况如下:
再开一个窗口,执行
python test_consoler.py --console
回到刚才的窗口
原程序的行为被改变了!
厉害了word哥!
回到命令行交互页面
命令行现在所处的作用域为__init__
那么__init__中的所有本地变量均可以访问
通过self,我们可以改变self绑定的方法及self属性
使用exit或者control + c退出
让我们来看一下console类
consoler.py
console类是一个单例抽象类,为什么是单例主要是因为console类我主要用于maxin到我的微服务类,所以必须是单例且抽象。
需要实现一个抽象属性args,args是ArgumentParser是结果集。
所以可以通过如下方式使用。
console主要做的事情有两件
当启动程序时不加--console参数时,默认启动一个线程服务来监听console客户端的链接。
当启动程序时添加了--console参数时,程序开启一个console并连接服务。
该console类已经被maxin进了monitors.py中的微服务基类中,可以直接继承使用
灵感来源于werkzeug中关于debug中间件的实现。
安装:
pip install toolkity