是否可以运行生成一个(或多个)图形的 Python 代码并保持这些图形打开,即使在程序结束后也是如此?
目前,当我在代码末尾使用 show()
时,程序执行 $ python somecode.py
会停止,直到我关闭图形(或图形) .从而使终端无法使用。
我是否需要为每个图形分配不同的作业 ID,以便图形与主程序分开运行?如果是这样,我怎样才能做到这一点?
当一个人想要使用不同的输入执行有限次数的程序并且不想将每个结果图形存储为(单独的)文件时,这种需求就变得很明显。这对于进行快速比较很方便。
一个明显的解决方案是在单独的终端 session 中运行该程序。
最佳答案
不确定这是否是您想要的,但您当然可以使用 &
在您的终端中将 python
作为后台进程启动。
像这样:
$ python somecode.py &
$ ... # control is returned here immediately
它将在后台启动 python
并立即将控制权返回给终端。一段时间后,绘图窗口将出现而不会阻塞终端。您可以通过这种方式触发 python
的多个实例,从而同时打开多个绘图窗口,同时保持终端可用。
请注意,您还可以在进程启动后将其移至后台。之后
$ python somecode.py
终端被阻止,但您可以在终端中按 ctrl-z
然后按 bg
将进程转为后台进程。
这当然是一般的 shell 功能,与 Python 无关。
关于python - 程序结束后保持 matplotlib 图形打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319060/