我想运行某个通过 Ubuntu 12.04 命令终端调用 MATLAB 的 Python 脚本。脚本有这一行:
os.system("matlab -nojvm -nodisplay -nosplash -r "ReadFates5mm;quit"")
但它在 ReadFates 的最后一部分返回语法错误。我不知道如何修复它。
我知道有一种使用 matlab python 桥的方法,但我必须将我的 matlab 文件转换为函数。
谢谢!
您需要正确引用字符串。
尝试:
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'
,报价开始2
于2'
. 基本上,您需要转义"
at 1'
& 2
,使用\"
.
或者,您可以使用其他引号字符,'
.
有关更多详细信息,请搜索“字符串引用和转义字符”。
http://en.wikipedia.org/wiki/Escape_character#Programming_and_data_formats