python - 通过 Python 获取 MAPLE 的输出

标签 python subprocess pexpect maple

我如何使用 Python 中的 subprocess 模块来启动 MAPLE 的命令行实例以将输出提供给主代码并将其返回?例如我想:

X = '1+1;'
print MAPLE(X)

返回“2”的值。

我见过的最好的是围绕 MAPLE 命令的 SAGE 包装器,但我不想为我的目的安装和使用 SAGE 的开销。

最佳答案

尝试更频繁地“交互”驱动子进程会遇到子进程做一些缓冲的问题,这会阻塞事情。

这就是为什么出于此类目的我建议使用 pexpect (除 Windows 之外的任何地方:wexpect 在 Windows 上),它正是为此目的而设计的——让您的程序模拟(从子进程的角度)人类用户键入输入/命令并在终端/控制台查看结果。

关于python - 通过 Python 获取 MAPLE 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053231/

相关文章:

python - 调用 pexpect.spawn 时,生成的程序会立即开始执行吗?

python - 如何在 Pexpect spawn 中设置环境变量而不会出现异常

python - 如何有效地扩展多维数组的一维?

python - 获取文本并删除所有标签,但保留标题和粗体的标签

python - 从登录的另一端下载文件

Python - 使用 Popen 打开 gnome 编辑器

用于 ssh 处理的 python 库

python - Tkinter StringVar() 显示空白

python 子进程在引号前发送反斜杠

python - Flask 中的 Popen 启动 Python 解释器