我想通过 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'
。
基本上,您需要使用 \"
转义 1'
和 2
处的 "
。
或者,您可以使用其他引号字符,'
。
有关更多详细信息,请搜索“字符串引号和转义字符”。
http://en.wikipedia.org/wiki/Escape_character#Programming_and_data_formats
关于python - 通过 Python 但通过 Linux 命令终端调用 MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358104/