2011-06-07 67 views
5

我想用Python编写Octave函数。谷歌并没有帮助我们找出是否有可能以某种方式在Octave中导入/包含/使用任何Python模块,并将它们视为本地.m函数。我看了一下Cython,它从Python创建C源代码,但它使用Python对象作为参数和返回类型。是否有可能在Octave中使用Python模块?是否可以在Octave中使用Python模块?

回答

2

不幸的是,没有简单的方法来做到这一点。

然而,总是可以运行Python程序并解析输出。实际上

您可以使用函数system(cmd,flag)执行任何shell命令 。 第二个参数是可选的。如果存在 ,命令 的输出将作为字符串由系统返回。如果 未提供,则会打印 命令的任何输出,而 标准输出将通过 传呼机进行过滤。

例如:

output = system ("python /home/user/some_algoritmh.py", 1) 
+0

从这里:http://www.mathworks.com/help/matlab/ref/dos.html 看来'dos'命令也几乎一样,但做这样的事情'[状态,result] = dos(command)'会将系统命令的结果存储到第二个变量中,而不仅仅是无用的'0 =无错误'。 – PhilMacKay 2013-02-05 16:36:44

0

存在着在Github,pyoctave,这是一个C++扩展倍频程,并且可以调用的Python模块的功能的项目。你必须编译一次扩展才能创建一个oct文件,并且可以使用这个oct文件来调用Python代码。

Code on Github

相关问题