社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

创建一个python脚本来模拟一个matlab文件并存储结果

mughal • 6 年前 • 1652 次点击  

我最近开始做学生助理,我必须用pycharm(python)编写一个脚本,这对我来说是一个新的东西。

我的任务是编写一个python脚本,从服务器获取一个matlab文件(.m文件),执行它并将该文件的结果存储在另一个文件夹中。

我已经创建了一个函数,该函数从服务器返回要模拟的Matlab文件的路径,如下所示。

def get_next_job() -> Path:
    host = '127.0.0.1'
    port = 2000

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((host, port))
    s.sendall(json.dumps({"task_name": "next_simulation_file",   "host_name": socket.gethostname()}).encode())
    received = s.recv(1024)
    m = received.decode()
    message = json.loads(m)
return Path(message["next_simulation_file"])

现在,我的问题是如何从python初始化matlab来模拟这个文件并将结果存储在某个地方。

我非常感谢你的帮助。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39891
文章 [ 1 ]  |  最新文章 6 年前
msi_gerva
Reply   •   1 楼
msi_gerva    7 年前

我认为您可以使用subprocess模块来完成任务。假设您可以通过以下命令运行/执行您的Matlab脚本: matlab -nodisplay -nosplash -r matlab_command

然后在脚本中添加一行:

import subprocess
run_command='matlab -nodisplay -nosplash -r matlab_command'
subprocess.call(run_command, shell=True)

我想 subprocess 将等待Matlab完成,然后继续执行脚本。

子流程也有一个方法 check_call ,可用于检测命令是否工作。在任何情况下,系统都必须有可用的Matlab,即必须安装Matlab。