背景
我有大量的字段将从外部进程实时更新.我想定期更新Flask托管页面,以向连接的用户显示任何更改.理想情况下,整个页面不会刷新,这是对类似系统的抱怨,而只是更新页面上的许多字段.
当前方向
我目前的想法是使用可能使用JavaScript来处理这个问题,但我不确定在使用Flask时是否可行.
有没有办法使用Flask或第三方模块来实现这一目标?
附加信息
将使用各种插槽和串行端口更新数据.每个接口都将在其自己的线程中运行并更新共享内存.请注意,Flask/Web界面对共享内存具有只读写入,可由其他线程更新.
总客户端池不应超过20人.这是测试系统的Web界面,通常在任何给定时间只有1-5人连接到它.
我试图input()在用户使用标准缩放控件操作绘图后获取用户输入。例如。用户操作绘图,计算出所需的 X 值,并将其输入到命令行提示符中。
绘图可以在单独的窗口中(Spyder/Python)或内嵌(在 Jupiter Notebook 中)。
用户输入值后,脚本继续(例如,从图中请求另一个值,或对这些值进行一些计算)。
但是,当命令行等待用户输入时,我无法让绘图实际显示并做出响应。我努力了:
plot()先声明,input()后声明。%matplotlib, notebook,等inlineqtfig.show( block=False )以及它的变体,例如。plt.show( block=False )我确实通过在和语句matplotlib.pyplot.pause(0.5)之间添加一个来实际更新绘图(以前它要么是笔记本中的空白区域,要么是空白的单独图形窗口)。这是重大进展,但是一旦脚本命中语句,我就会在图形窗口上看到一个旋转的沙滩球(防止缩放等),直到我通过输入某些内容来完成语句,然后脚本完成。那时情节是互动的。plot()input()input()input()
python 控制台似乎无法同时处理多个用户交互?IE。input()是否冻结所有其他用户交互?
我已经搜索了SO、谷歌等好几天了,但还没有弄清楚这一点!这个想法是使用它作为一种“快速而肮脏”的方式从图中获取用户输入,然后再进行理论上更复杂的任务,即直接从图中获取用户点击(这必须捕捉到绘制的数据,例如数据)光标)。