我如何使用Python中的subprocess模块来启动MAPLE的命令行实例,以将输出馈送并返回给主代码例如,我想:
X = '1+1;'
print MAPLE(X)
返回“2”的值。
我看到的最好的是maple命令的sage包装器,但是我不想安装和使用sage的开销来达到我的目的。
最佳答案
尝试以“交互方式”驱动子流程时,常常会遇到子流程执行某些缓冲操作的问题,这会阻塞某些内容。
这就是为什么我建议使用pexpect(除windows以外的所有地方:wexpect,在windows上),这正是为此目的而设计的——让您的程序(从子进程的角度)模拟人类用户键入输入/命令并在终端/控制台上查看结果。