如何使用SMOP将Matlab转成Python代码

Aar*_*son 12 python matlab translate

我已经通过 pip 安装了 SMOP,它似乎工作正常。我的 python 文件夹中有smop-script.pysmop.exe文件\scripts\

假设我有一个名为的 matlab 文件myMatlabFile.m位于C:\Users\MyMatlabCode. 如何使用 smop 翻译该文件?

SMOP 文档仅包含打开文件\smop\夹中包含的文件的示例,main.py而我没有类似的内容。此外,github页面没有说明它是否仅适用于 2.7 或 3. 或其他版本。

我希望这个包能加速我的 Matlab -> Python 3.6 转换,但如果现在有更好的翻译器,请让我知道。

小智 8

我只是尝试使用 SMOP 转换 matlab 文件并且它起作用了。我在 Anaconda Prompt 环境中使用 pip 安装了该软件。

pip install smop
Run Code Online (Sandbox Code Playgroud)

安装后我得到了 0.41 版本。

我将要转换的文件复制到我在 Anaconda Prompt 环境中运行 pip 代码的文件夹中。

然后我使用代码 smop 和文件名 .m 并在同一文件夹中得到一个文件 .py。

smop VI.m
Run Code Online (Sandbox Code Playgroud)

  • 如果在转换文件时出现错误: ```AttributeError: 'DiGraph' object has no attribute 'node'``` install ```pip install networkx==1.11``` [这是因为 Networkx v2 有点非-向后兼容 smop(相当过时)](https://github.com/victorlei/smop/issues/153#issuecomment-571826680。) (3认同)

小智 2

使用 smop 与其他命令行工具没有什么不同。首先,获取来源。下载、克隆、tar、wget 或任何适合您的方法。我们将包含 setup.py 的目录称为根目录。将目录更改为该目录。现在安装smop

> pip install .
Run Code Online (Sandbox Code Playgroud)

让我们看看它是否有效:

> smop -V

0.40
Run Code Online (Sandbox Code Playgroud)

是的,确实如此。

让我们看看文档:

> smop | more
Run Code Online (Sandbox Code Playgroud)

最后是翻译本身。如果您有一堆名为 foo.m、bar.m、bzz.m 的 Matlab m 文件,并且您想将这些文件转换为 python,请输入

> smop foo.m bar.m bzz.m
Run Code Online (Sandbox Code Playgroud)

  • 我很欣赏您的回复,但实际上并没有帮助。您过多地假设了我们对这些事物如何工作的了解,并且您没有解决原始问题中的任何细节。我不怀疑你的解释足以让你理解如何使用smop,但对于许多其他人来说还不够。 (8认同)