同时使用 Python 和 C++ 运行读取和写入文件
Simultaneous Python and C++ run with read and write files
所以这个是一个doozie,有点太具体了,无法在网上找到答案。
我正在用C++写入一个文件,同时用Python读取该文件以移动机器人。或者尝试。
当我尝试同时运行两个程序时,C++程序首先运行,然后运行 Python 程序。
这是我使用的命令:
./ColorFollow & python fileToHex.py
即使我切换命令的顺序,也会发生这种情况。 即使我在不同的终端中运行它们(这是同一件事,只是覆盖所有基础)。
Python 和 C++ 代码都在"无限"循环中读取/写入,所以这两个应该运行直到我说停止。
代码工作正常;当Python脚本最终运行时,机器人按预期移动。只是代码没有同时运行。
有没有办法做到这一点,或者这是不可能的?
如果您需要更多信息,请告诉我,但代码几乎是您所期望的。
如果您使用的是 Linux,&
将发布 bash 会话,在这种情况下,CollorFlow 和 fileToXex.py 将在不同的 bash 会话中运行。
同时,合成./ColorFollow | python fileToHex.py
看起来很有趣,因为您将 ColorFollow 的 stdout 重定向到 fileToHex.py stdin - 它可以通过在退出时打印一些代码字符串来同步脚本,然后通过 fileToHex.py 读取它并退出。
我会创建一些像/var/run/ColorFollow.flag
这样的空文件,并在其中一个进程退出时写入 1。不是管道 - 因为我们不在乎哪个进程将首先开始。因此,如果 ColorFollow 的下一个循环步骤在文件中看到 1,它会将其删除并退出(表示 fileToHex 已经退出)。相同 - 对于 fileToHex - 检查每个循环步骤的标志文件,并在删除标志文件后退出(如果存在)。
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 读取文件的最后一行并输入到链接列表时出错
- 为什么在读取文件大小时文件IO速度会发生变化
- 读取文件时运行时的未知行为
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C++ 读取文件读取文件不正确
- 读取文件并将其存储在unordered_map中时出现问题
- 读取文件时无法使用 OpenMP 获得加速
- 使用istringstearm和get行缓慢读取文件
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 读取文件时引发异常
- 从标准输入读取文件后读取用户输入
- 在读取文件后重置句柄
- 如何在C++编译时读取文件?
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 读取文件在第二次调用时返回INVALID_HANDLE
- 通过指针读取文件
- 逐行读取文件,并将数据插入变量和数组中