使用Python退出gnuplot?

时间:2015-01-24 02:10:14

标签: python gnuplot

我有以下代码运行Xyce(模拟平台)来模拟我的网表,然后使用gnuplot绘制输出csv文件。它工作正常并绘制输出文件,但是,我的命令窗口卡在gnuplot窗口中。所以我的问题是如何在此时退出gnuplot以便正常继续我的代码/脚本。我试着打电话exit没用。我也尝试在后台运行gnuplot但没有任何运气。最后我尝试了命令terminate(),但也没有运气。那么,有人可以帮忙吗?

#!/usr/bin/env python

# Plotting Output File

import subprocess
import Gnuplot

subprocess.call(['./Xyce','mscmemory_cell.cir'])
g = Gnuplot.Gnuplot()
g.plot(Gnuplot.File('mscmemory_cell.cir.prn', using=(2,3), with_="lines"))
subprocess.call('gnuplot')

1 个答案:

答案 0 :(得分:0)

这里的问题是subprocess.call()是阻塞的,来自python文档:

https://docs.python.org/2/library/subprocess.html

我的问题是:你怎么知道你希望程序能够正常继续?

如果您只想通过shell启动gnuplot并保持主程序的运行,那么您正在挖掘正确的Python模块,错误的功能就像subprocess.call()将阻止执行直到命令完成。我会看看Popen。

话虽如此,我有点困惑为什么subprocess.call('gunuplot')是必要的。从包的demo.py看,它看起来像调用Gnuplot.Gnuplot()应该已经启动了该程序的实例。那不是这样吗?