我需要从Python启动一个子流程,然后向它发送命令

我需要从Python启动一个子流程,然后向它发送命令,python,matlab,subprocess,Python,Matlab,Subprocess,o 事情是这样的。我有一些python代码需要与我可以访问的特定matlab脚本交互。通过执行以下操作,我可以轻松启动matlab: import subprocess self.farc = subprocess.Popen("xterm -e matlab -nosplash -nodesktop", shell = True, stdin = subprocess.PIPE) 一切都很好。但是,当我尝试将命令发送到matlab时,即: command = "matlab_functio

o

事情是这样的。我有一些python代码需要与我可以访问的特定matlab脚本交互。通过执行以下操作,我可以轻松启动matlab:

import subprocess

self.farc = subprocess.Popen("xterm -e matlab -nosplash -nodesktop", shell = True, stdin = subprocess.PIPE)
一切都很好。但是,当我尝试将命令发送到matlab时,即:

command = "matlab_function" +"(" + "\'" + argument_from_python_code + "\'" +")"
self.farc.communicate(input = command)
我的程序,和matlab终端都冻结了。几秒钟后,linux确定窗口没有更新并终止应用程序


有什么想法吗?

self来自哪里?你能试着同时指定stdout吗?如果我没有说清楚,很抱歉。我实际上并不关心输出。Matlab应用程序有自己的功能,在发送命令后,我不再需要与它交互。