我正计划在python3中使用三个文本文件或三个数据库表的应用程序,我不知道该使用什么。这些文件只包含字符串或数据库表中的单个列,每行中都有一个字符串。
该应用程序有三个程序program_A,program_B,program_C,它们操作这三个文件,file_A和file_B以及file_C.Program A读/写file_A读取file_C并写入file_B,program_B读/写file_B,program_C写file_A和file_C.file_A和file_B只是假想的队列,所以程序从文件中读取一行,然后从文件中删除该行(因此我提到读/写),写入文件的程序将一行写入文件的末尾。登记/>
我不知道如何让这些程序工作,因为这些程序同时访问文件。我已经研究了sqlite文件锁定状态,我不知道如何使用它来解决我的场景。我也不确定如果我应该使用sqlite数据库或简单的文本文件。
我也在考虑使用某种共享内存或内存数据库,我可以在应用程序启动时加载这些文件的内容,并在应用程序退出时写回文件,但我担心如果某些软件硬件故障意味着我会因为失败而没有更新文件,因此失去了在该应用程序运行中完成的工作。
答案 0 :(得分:1)
在同一个文件中读写?不,这只会带来痛苦和困难。您可以尝试threading或multiprocessing的共享数据机制,并拥有符合您需求的queue
实施方案。
sqlite方法似乎也很好,因为你可以添加必要的数据来设置这些"队列"的顺序。等等,但我不喜欢通过数据库进行通信的进程。