Python中HSPICE的调用交互模式

Python中HSPICE的调用交互模式,python,shell,Python,Shell,我想在Python中高效地调用HSPICE。我的最终目标是在我的模拟中加速(我有数百万个) 如果我在shell中直接调用HSPICE: hspice a1.sp // method 1 hspice a2.sp ... 或 xxx.txt的示例: load a1.sp run load a2.sp run ... quit 不同之处在于,方法1每次检查HSPICE的许可证,但方法2使用交互模式(-I),并且只检查一次许可证,因此时间效率更高 我想在Python中

我想在Python中高效地调用HSPICE。我的最终目标是在我的模拟中加速(我有数百万个)

如果我在shell中直接调用HSPICE:

hspice a1.sp                // method 1
hspice a2.sp
...

xxx.txt的示例:

load a1.sp
run
load a2.sp
run
...
quit
不同之处在于,方法1每次检查HSPICE的许可证,但方法2使用交互模式(
-I
),并且只检查一次许可证,因此时间效率更高

我想在Python中调用HSPICE来自动化我的模拟过程:

方法1可行,但方法2有问题。换言之:

os.system('hspice yyy.sp')           // it works
但是,当我使用os.system、subprocess.call或subprocess.Popen时,我无法运行它。比如说,

args = ['hspice64', '-I', '-L', 'xxx.txt']
subprocess.Popen(args)

Hspice许可证签出后,它将被卡住
。HSCE模拟未完成(因此,整个模拟未结束)

有人知道发生了什么事,我如何解决吗?

一个解决办法是编写一个shell脚本来自动执行交互式HSPICE调用。

一个解决办法是编写一个shell脚本来自动执行交互式HSPICE调用

args = ['hspice64', '-I', '-L', 'xxx.txt']
subprocess.Popen(args)
os.system('hspice64 -I -L xxx.txt')