python确保文件一致性

2024-04-26 03:21:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python2.7.x进程在一个无限循环中运行,它监视Ubuntu服务器中的一个文件夹。你知道吗

每当它找到一个文件时,它就会对照一组已经处理过的已知文件检查该文件,并相应地采取行动。在伪代码中:

found = set()
while True:
   for file in all_files("<DIR>"):
      if file not in found:
         process_file(file, found)

我怎样才能确保文件没有被复制到那里?我不想说,采取MD5总和文件或打开它与另一个进程,直到我确定它的一切都在那里,并准备就绪。你知道吗


Tags: 文件代码in服务器文件夹truefor进程
2条回答

最安全的解决方案是通过pyinotify库使用Linux内核的^{}API。根据您的需要,尝试使用IN_CREATEIN_MOVED_TO事件。还要注意this blog post关于pyinotify库的一些实现问题的警告。你知道吗

由于锁定和其他系统级操作,在文件完成复制之前,您将无法对其执行任何操作。你知道吗

一个文件不能同时进行两个操作。你知道吗

相关问题 更多 >