Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同时使用Python和C++;使用读写文件运行_Python_C++ - Fatal编程技术网

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

同时使用Python和C++;使用读写文件运行,python,c++,Python,C++,因此,这是一个doozie,有点太具体,无法在网上找到答案 我正在写一个C++文件,同时在Python中读取这个文件来移动一个机器人。或者尝试 当我同时运行这两个程序时,C++一个先运行,然后python运行一次。 以下是我使用的命令: /ColorFollow&python文件tohex.py 即使切换命令的顺序,也会发生这种情况。 即使我在不同的终端上运行它们(这是一样的,只是覆盖了所有的基础) < Python和C++代码都在“无限”循环中读写,所以这两个代码应该运行到我说“停止”。 代码

因此,这是一个doozie,有点太具体,无法在网上找到答案

<>我正在写一个C++文件,同时在Python中读取这个文件来移动一个机器人。或者尝试

当我同时运行这两个程序时,C++一个先运行,然后python运行一次。 以下是我使用的命令:

/ColorFollow&python文件tohex.py

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

< Python和C++代码都在“无限”循环中读写,所以这两个代码应该运行到我说“停止”。 代码运行良好;当Python脚本最终运行时,机器人将按预期移动。只是代码没有同时运行

有没有办法做到这一点,或者这是不可能的


如果您需要更多信息,请让我知道,但是代码与您期望的非常接近。

如果您使用Linux,
&
将释放bash会话,在本例中,CollorFlow和fileToXex.py将在不同的bash会话中运行。
同时,composition
/ColorFollow | python fileToHex.py
看起来很有趣,因为您将ColorFollow的stdout重定向到fileToHex.py stdin-它可以通过在退出时打印一些代码字符串,然后通过fileToHex.py读取并退出来同步脚本。

我将创建一些空文件,如
/var/run/ColorFollow.flag
,并在其中一个进程退出时在其中写入1。不是管道-因为我们不关心哪个流程将首先启动。因此,如果ColorFollow的下一个循环步骤在文件中看到1,它将删除它并退出(意味着fileToHex已经退出)。同样-对于fileToHex-检查每个循环步骤的标志文件,如果存在,则在删除标志文件后退出。

通过使用
&
,您可以释放bash会话并仅获得Python脚本输出。因此,我建议创建一个带有停止标志的服务文件。或者停止一个进程,而不是一个文件,考虑使用一个管道。你的意思是运行<代码> /COLLASTHYPython FielToHEX.Py < /Calp>?@ ETECH -如果这是一个UNIXY系统,<代码> ColorFollow < /C> >代码> STDIN < /C> >从会话中分离,但可以用<代码> FG重新连接。它的
stdout
stderr
将继续写入终端屏幕。@Jean-一定发生了其他事情。它们应该并行运行。也许这些脚本和它们的共享文件之间有一些奇怪的交互?