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