【发布时间】:2013-06-28 05:55:51
【问题描述】:
我想运行某个通过 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"')?或正确转义引号。 -
知道了! ' ' 与 " " 有什么区别呢?
-
添加了解释作为答案。
-
@alvarezcl
"和'之间绝对没有区别。问题是,要在以"分隔的字符串中包含文字",您应该使用反斜杠对其进行转义。例如。"Say \"something\""。'也是如此:'Say \'something\''。为避免使用反斜杠,您可以使用不同的分隔符(例如,如果字符串包含",则使用'作为分隔符,如果字符串包含',则使用")。顺便说一句:os.systemshouldn't be used。将其替换为subprocess.call。 -
其实在某些脚本语言中使用
"&'还是有细微差别的。'something'是 许多 语言中的字符串文字。单引号字符串中的任何转义字符都被视为字面意思。'$variable'也不会在 bash 中扩展。等等。我不太确定在 python 中使用'和"。我只是想告诉 OP,“"和'之间绝对没有区别”不是一个通用的声明。
标签: python linux matlab shell scripting