我希望有一个应用程序在监视器正在读取信息的同时写出信息。该应用程序是“嵌入式”(在Win32 XP上),因此限制了内存和I / O功能。
我能想到的最简单的方法是将数据写入应用程序的缓冲区文件,然后使用监视器应用程序读取相同的文件。编写器应用程序是C ++,读者目前是Win32 XP上的Python。
有没有图书馆可以做到这一点?有没有人见过这个例子?
我不想使用数据库,因为我不想链接到applcation中的数据库库。即没有空间,嵌入式平台可能不支持。
另一种方法是通过网络连接,但我认为文件是最简单的解决方案。
答案 0 :(得分:4)
大多数系统都有多种解决方案可以满足您的需求,例如管道和unix套接字。与常规文件不同,它们适用于此目的。但是有一些程序可以在常规文件上执行此操作,我认为最明显的例子是unix-utility tail,它可以“跟踪”文件。
看看
http://msdn.microsoft.com/en-us/library/aa365590(VS.85).aspx
Python为win32提供了一个很好的包装库,所以你在那里看到的任何东西都可能是从python访问的。
答案 1 :(得分:2)
您可以使用内存映射文件,称为mmap的标准Python模块。
答案 2 :(得分:1)
您所谈论的内容称为“进程间通信”。有很多方法可以做到这一点。
使用Unix管道。
https://docs.python.org/library/pipes.html
使用套接字。
https://docs.python.org/library/socket.html
使用队列。
https://docs.python.org/library/queue.html
其中任何一个都比文件I / O好。