gpt4 book ai didi

python - 从 Python 到 Mathematica 再返回

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:22 26 4
gpt4 key购买 nike

我写了一个 Python 脚本,它产生一个输出到一个文件。Mathematica 将其读取为输入文件,然后使用它进行一些操作并最终返回另一个输出文件。反过来,最后一个文件应该由相同的初始 Python 脚本读取,以执行更多操作。

我的问题是:最简单(但有效)的方法是什么?

我将在下面写一个(非常简化的)例子来说明我正在处理的事情。我从我的 python 脚本开始 python_script.py : 这会产生一个数组 arr保存在文件 "arr.txt"

import numpy as np 
arr = np.arange(9).reshape(3,3)
np.savetxt('arr.txt', arr, delimiter=' ')

此文件由我的 Mathematica 笔记本读取 nb_Mathematica.nb .例如,这可以生成另一个数组,然后保存在另一个文件中,"arr2.txt"

file = Import["arr.txt","Table"]
b = ArrayReshape[file, {3,3}]
c = {{1,1,1},{1,1,1},{1,1,1}}
d = b + c
Export["arr2.txt", d]

现在"arr2.txt"必须由原始 Python 脚本读取。这怎么可能呢?具体如何停止 Python 脚本,启动 Mathematica,然后返回 Python 脚本?

最佳答案

正在执行此操作:

  • 将您的 Mathematica 代码放入一个纯文本文件中,例如 make_arr.m
  • 使用 Mathematica 的命令行界面:
    • math -script make_arr.m
  • 从 python 调用上面的 subprocess模块
    • subprocess.call(["math", "-script", "make_arr.m"])

您可以选择在 Mathematica 脚本中使用命令行参数:

file_name = $CommandLine[[4]]

Further to read

关于python - 从 Python 到 Mathematica 再返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com