我计划在 python3 中使用三个文本文件或三个数据库表的应用程序,我不确定要使用什么。这些文件仅包含字符串或数据库表中的单个列,每行中都有一个字符串。
该应用程序具有三个程序program_A,program_B,program_C,它们操作这三个文件,file_A和file_B和file_C。程序A读取/写入file_A读取file_C并写入file_B,program_B读取/写入file_B,program_C写入file_A和file_C.file_A和file_B只不过是虚构的队列,因此程序从文件中读取一行,然后从文件中删除该行(因此我提到了读/写),并且写入文件的程序将一行写入文件末尾。
我不确定如何让这些程序工作,因为这些程序同时访问文件。我研究了 sqlite 文件锁定状态,但我不知道如何使用它来解决我的场景。我也不确定如果我应该使用 sqlite 数据库或简单的文本文件。
我也在考虑使用某种共享内存或内存数据库,我可以在应用程序启动时加载这些文件的内容,并在应用程序退出时写回文件,但我担心如果某些软件硬件故障意味着我会由于失败导致文件未更新,因此丢失了在该应用程序运行中完成的工作。
问问题
3454 次
1 回答
1
在同一个文件中读取和写入?不,这只会带来痛苦和困难。您可以尝试使用threading或multiprocessing的机制来共享数据,并拥有queue
适合您需求的实现。
sqlite 方法似乎也很好,因为您可以添加必要的数据来设置这些“队列”的顺序等等,但我不喜欢通过数据库进行通信的进程。
于 2013-02-20T09:51:35.467 回答