我已经做了一个程序,从网络分析仪现场绘图数据。图形的绘制在while
循环内。除非关闭程序,否则程序不会停止打印。我想要一个程序,当我按下键盘上的按钮时,它会关闭图形(break
是while
循环)。我不想使用input
,因为这样代码就会等待输入。在按下按钮之前,代码应平稳运行。我在桑尼的乌藨子派上做这个项目。
import matplotlib.pyplot as plt
plt.ion()
x_data= []
y_data= []
graph= plt.plot(x_data,y_data)
while True:
do something
graph.set_ydata(y_data)
graph.set_xdata(x_data)
plt.draw()
plt.pause(0.01)
字符串
注意这不是代码,只是一个小例子;问题不在于绘图,而在于尝试break
循环。
2条答案
按热度按时间uelo1irk1#
考虑到这段代码需要在乌藨子上运行.
使用***键盘模块***可能不是一个好主意,因为在Linux上,程序的执行可能会突然要求root访问权限,以便与设备驱动程序交互并侦听键盘事件。
要使命令“sudo python my_script.py”正常工作,可能需要进一步调整。
因此,这里是我的简单解决方案,利用线程和std input()函数,以避免使用键盘库和关闭Python程序。
正如@jared所建议的那样,最好选择一个任意的键来实现所需的结果,而不是任何键。
片段:
字符串
f0brbegy2#
在任何按键下退出可能会有点烦人。我建议选择一个特定的键来退出。在下面的例子中,我使用
"q"
键来“退出”。使用keyboard python library(您可能需要安装)完成检测。字符串