提问人:park 提问时间:7/27/2022 更新时间:7/27/2022 访问量:70
如何同时运行 2 个文件(.py)并将变量更新到另一个文件?
How to run 2 files(.py) concurrently and update the variable to another file?
问:
我的明确目标是将实时值从python更新到Matlab(simulink)以应用控制系统。
通过分离的进程,我获得了实时更新值。 值类型为整数。
我想将此更新值传递给 Matlab 工作区。 所以我尝试在Matlab工作区中使用命令:pyrunfile('A.py')
然而 正如你所看到的,第 10 行“Python 支持的限制”,https://fr.mathworks.com/help/matlab/matlab_external/limitations-to-python-support.html
Matlab 不支持多处理。 换句话说,如果我尝试从 Matlab 工作区运行 python 文件, 这是行不通的。
但多处理是我工作的必要条件。(不适用于多线程)
所以我的想法:
- 运行包含多处理的文件 A.py。
- 在 A.py 仍在运行的情况下,我将所需的更新值传递给另一个文件 B.py with loop 。
- 将此值导出到 Matlab 工作区。
- Matlab 工作区 -> simulink
首先,我想知道这听起来是否可行。 如果没有,我想有一些其他的工作流程建议。
总结:
python -> matlab 是不可能的,因为多处理。
python -> ??->matlab,还有其他方法吗?
答:
0赞
Ebrahim Momin
7/27/2022
#1
我不确定这是否是最有效的方法,但您可以将变量写入一个文件并从另一个文件中读取它。
#Read file
with open("file.txt", "r") as txt_file:
return txt_file.readlines()
#Open file
txt_file = open("file.txt", "w")
txt_file.write(var)
txt_file.close()
您可以像这样传递值。我不确定如何做剩下的事情,但我希望这会有所帮助
此外,只需创建命令行的 2 个实例,并分别运行文件以运行这两个实例
评论
python A.py B.py