0

我想运行某个通过 Ubuntu 12.04 命令终端调用 MATLAB 的 Python 脚本。脚本有这一行:

os.system("matlab -nojvm -nodisplay -nosplash -r "ReadFates5mm;quit"")

但它在 ReadFates 的最后一部分返回语法错误。我不知道如何修复它。

我知道有一种使用 matlab python 桥的方法,但我必须将我的 matlab 文件转换为函数。

谢谢!

4

1 回答 1

1

您需要正确引用字符串。

尝试:

os.system('matlab -nojvm -nodisplay -nosplash -r "ReadFates5mm;quit"')
OR
os.system("matlab -nojvm -nodisplay -nosplash -r 'ReadFates5mm;quit'")

或者,您可以转义嵌套的双引号。

os.system("matlab -nojvm -nodisplay -nosplash -r \"ReadFates5mm;quit\"")

解释:

在您的代码中,

 os.system("matlab -nojvm -nodisplay -nosplash -r "ReadFates5mm;quit"")
           1                                      1'                22'

双引号开始于标记,1结束于市场1',报价开始22'. 基本上,您需要转义"at 1'& 2,使用\".

或者,您可以使用其他引号字符,'.


有关更多详细信息,请搜索“字符串引用和转义字符”。

http://en.wikipedia.org/wiki/Escape_character#Programming_and_data_formats

于 2013-06-28T06:41:04.583 回答