编辑:结果是shell子流程模块没有与我的系统shell相同的路径变量目录。因此,解决方案就是使用完整路径(通过which maxima
找到)调用Maxima,或者更改subprocess.run()参数中的env={'PATH':maxima_paths}
。正如@RobertDodier指出的,这不是Maxima的具体问题
我有一个名为testMaxima.txt的文件,其中包含以下Maxima代码:
write_data([[1,2,3]], "test.txt");
此Maxima代码在工作目录中创建文件test.txt
我希望使用Python脚本运行此文件。我不想手动打开Maxima(数学引擎)来执行此操作
我尝试的内容:我知道我可以使用maxima -b testMaxima.txt
在命令行/终端中运行此文件,并且我尝试使用python模块subprocess
用以下python代码模拟此代码:
import subprocess
subprocess.run("maxima -b testMaxima.txt", shell=True)
但这并不像它应该创建的那样创建新的test.txt
文件。如果这有帮助,当我跑步时
>>> subprocess.call("maxima -b testMaxima.txt", shell=True)
127
我得到了127的输出。据我所知,这意味着终端无法找到给定的命令。但是,当我直接通过终端执行代码maxima -b testMaxima.txt
时没有问题,所以我不确定为什么它找不到给定的命令。有人对我应该尝试什么有什么想法吗
提前谢谢你
编辑:根据@mkrieger的建议,我使用了一个字符串"maxima -b testMaxima.txt"
,而不是序列["maxima", "-b", "testMaxima.txt"]
。不幸的是,这没有什么区别
在python中使用os.system如何
还要确保您正在testMaxima.txt文件所在的位置运行此python脚本
相关问题 更多 >
编程相关推荐