同时使用读写文件运行Python和C ++

时间:2017-03-06 04:57:11

标签: python c++

所以这个是doozie,有点太具体到无法在线找到答案。

我正在用C ++写一个文件,同时用Python读取该文件来移动一个机器人。或尝试。

当我尝试同时运行这两个程序时,首先运行C ++,然后运行Python程序。

这是我使用的命令:

./ColorFollow & python fileToHex.py

即使我切换命令的顺序,也会发生这种情况。 即使我在不​​同的终端运行它们(这是相同的,只是覆盖所有基地)。

Python和C ++代码都在“无限”中读/写。循环,所以这两个应该运行,直到我说停止。

代码工作正常;当Python脚本最终运行时,机器人按预期移动。只是代码不能同时运行。

有没有办法让这种情况发生,或者这是不可能的?

如果您需要更多信息,请知道,但代码几乎是您所希望的。

1 个答案:

答案 0 :(得分:0)

如果您使用Linux,if (events[indexPath.row].eventStatus == 1) { myEventCell.eventLabel?.textColor = UIColor.green } else { myEventCell.eventLabel?.textColor = UIColor.red } 将发布bash会话,在这种情况下,CollorFlow和fileToXex.py将在不同的bash会话中运行。
同时,组合&看起来很有趣,因为你将ColorFollow的stdout重定向到fileToHex.py stdin - 它可以通过在退出时打印一些代码字符串来同步脚本,然后通过fileToHex.py读取它并退出。
我会创建一些像./ColorFollow | python fileToHex.py这样的空文件,并在其中一个进程退出时写入1。不是管道 - 因为我们不关心首先启动哪个流程。因此,如果ColorFollow的下一个循环步骤在文件中看到1,则删除它并退出(意味着fileToHex已经退出)。同样 - 对于fileToHex - 检查每个循环步骤的标志文件,如果存在则退出,删除标志文件后。