相关疑难解决方法(0)

使用Flask实现强制页面刷新的最佳方法是什么?

背景
我有大量的字段将从外部进程实时更新.我想定期更新Flask托管页面,以向连接的用户显示任何更改.理想情况下,整个页面不会刷新,这是对类似系统的抱怨,而只是更新页面上的许多字段.

当前方向
我目前的想法是使用可能使用JavaScript来处理这个问题,但我不确定在使用Flask时是否可行.

有没有办法使用Flask或第三方模块来实现这一目标?

附加信息
将使用各种插槽和串行端口更新数据.每个接口都将在其自己的线程中运行并更新共享内存.请注意,Flask/Web界面对共享内存具有只读写入,可由其他线程更新.

总客户端池不应超过20人.这是测试系统的Web界面,通常在任何给定时间只有1-5人连接到它.

html javascript python flask

22
推荐指数
2
解决办法
2万
查看次数

Matplotlib:脚本等待“input()”时无法操作绘图

我试图input()在用户使用标准缩放控件操作绘图后获取用户输入。例如。用户操作绘图,计算出所需的 X 值,并将其输入到命令行提示符中。

绘图可以在单独的窗口中(Spyder/Python)或内嵌(在 Jupiter Notebook 中)。

用户输入值后,脚本继续(例如,从图中请求另一个值,或对这些值进行一些计算)。

但是,当命令行等待用户输入时,我无法让绘图实际显示并做出响应。我努力了:

  • plot()先声明,input()后声明。
  • 使用 Python 3.6 的 Spyder(我认为),来自 MacPorts 的源代码(尽我所能更新了 Spyder)
  • Spyder 通过 Python 3.7,来自 ContinuumIO 的 Anaconda 包,采用 IPython
  • Jupiter Notebook 也来自 Anaconda
  • 众多后端:macosx、qt 等。
  • 笔记本%matplotlib, notebook,等inlineqt
  • 单独的图形窗口(Spyder 和 Python)与内联图形(Jupyter Notebook)
  • fig.show( block=False )以及它的变体,例如。plt.show( block=False )
  • 两台不同的 MacBook(2017 款和 2010 款 MacBook Pro)

确实通过在和语句matplotlib.pyplot.pause(0.5)之间添加一个来实际更新绘图(以前它要么是笔记本中的空白区域,要么是空白的单独图形窗口)。这是重大进展,但是一旦脚本命中语句,我就会在图形窗口上看到一个旋转的沙滩球(防止缩放等),直到我通过输入某些内容来完成语句,然后脚本完成。那时情节是互动的。plot()input()input()input()

python 控制台似乎无法同时处理多个用户交互?IE。input()是否冻结所有其他用户交互?

我已经搜索了SO、谷歌等好几天了,但还没有弄清楚这一点!这个想法是使用它作为一种“快速而肮脏”的方式从图中获取用户输入,然后再进行理论上更复杂的任务,即直接从图中获取用户点击(这必须捕捉到绘制的数据,例如数据)光标)。

python plot user-input matplotlib python-3.x

5
推荐指数
1
解决办法
2130
查看次数

标签 统计

python ×2

flask ×1

html ×1

javascript ×1

matplotlib ×1

plot ×1

python-3.x ×1

user-input ×1