簡體   English   中英

如何同時運行 2 個文件(.py)並將變量更新到另一個文件?

[英]How to run 2 files(.py) concurrently and update the variable to another file?

我的明確目標是將實時值從 python 更新到 Matlab(simulink) 以應用控制系統。

通過分離的進程,我得到了實時更新值。 值類型是 integer。

我想將此更新值傳遞給 Matlab 工作區。 所以我嘗試在 Matlab 工作區中使用命令: pyrunfile('A.py')

但是,正如您看到此鏈接,“Python 支持的限制”的第 10 行, https://fr.mathworks.com/help/matlab/matlab_external/limitations-to-python-269A239EZ308AD

Matlab 不支持多處理。 換句話說,如果我嘗試從 Matlab 工作區運行 python 文件,它就不起作用。

但我的工作需要多處理。 (不適用於多線程)

所以我的想法:

  1. 運行包含多處理的文件 A.py。
  2. 在 A.py 仍在運行下,我將所需的更新值通過循環傳遞給另一個文件 B.py。
  3. 將此值導出到 Matlab 工作區。
  4. Matlab 工作區-> simulink

首先,我想知道這聽起來是否可行。 如果沒有,我想有一些其他的工作流程建議。

概括:

python -> matlab 是不可能的,因為多處理。

python ->?? -> matlab,還有其他方法嗎?

我不確定這是否是最有效的方法,但您可以將變量寫入文件並從另一個文件中讀取。

#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()

您可以像這樣傳遞值。 我不知道如何做 rest,但我希望這會有所幫助

也只需創建 2 個命令行實例,然后分別運行文件以運行它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM