我创建了一个python脚本来监视文件夹中的文件更改。我可以使用默认的看门狗事件侦听器(on_created
,on_deleted
等)捕获所有事件。我将每个新文件的大小保存在一个数组(file_size_array
中),当用户删除该文件时,我必须从file_size_array
中删除该删除文件的大小,以确保行为准确。
因此,我尝试在“ on_deleted”事件中获取已删除文件的大小,但它抛出FileNotFoundError
。我还尝试了“ on_any_event”方法来捕获已删除的事件并在那里获取文件大小,但仍然会抛出FileNotFoundError
。
我尝试过:
def on_deleted(self, event):
print(os.path.getsize(event.src_path))
也尝试过:
def on_any_event(self, event):
if event.event_type == "deleted":
print(os.path.getsize(event.src_path))
但仍然得到FileNotFoundError
。
我只想在删除文件后立即从file_size_array
中删除文件的大小来获取文件的大小。我无法将整个file_size_array
与其余文件进行比较,因为文件数量巨大,所以我觉得这太过分了。为此可能存在一个简单的解决方案。大家有什么想法吗?