python - 通过 Python 但通过 Linux 命令终端调用 MATLAB

标签 python linux matlab shell scripting

我想通过 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/

相关文章:

python - regex/beautifulsoup 如何从html表中提取列的所有值?

linux - 如果 IP 相同则合并两个/etc/hosts 文件

linux - 有什么方法可以通过 sed 删除第一次出现的模式吗?

matlab - 当第一列和第二列数字相同时第三列的平均值

arrays - 访问非标量结构的所有记录的某个字段中的第 i 个元素

python - 同时插入和扩展列表?

python - 将 csv 文件中相似的句子字符串分组在一起

python - 在 Python 中映射

mysql - Grep 连接表 MySQL/Linux

matlab - 我如何从绘图处理程序中绘图?