每当有人尝试从 Python 中的特定文件夹复制任何文件时如何记录日志

Posted

技术标签:

【中文标题】每当有人尝试从 Python 中的特定文件夹复制任何文件时如何记录日志【英文标题】:How to record a log whenever someone tries to copy any file from a specific folder in Python 【发布时间】:2021-09-04 10:20:14 【问题描述】:

我有一个文件夹支持imp 它包含非常敏感的文件。所以我想做的是,每当有人试图将任何文件从这个文件夹复制到任何其他位置时,我只想为这个操作记录一个日志,所以稍后我可以找到哪个用户做了那个。 我正在使用 python 的logging 模块来记录日志。请告诉我如何记录此活动。

【问题讨论】:

你使用的是什么操作系统? @shrewmouse 我正在使用ubuntu,但我的应用程序将在多个平台上运行 【参考方案1】:

大多数现代桌面操作系统都提供某种 API 来监视文件系统事件 - 在 Linux 上,它称为 inotify,而 Windows 有一个称为 FileSystemWatcher 的 .NET API 类。我不确定 MacOS 的对应版本。

有一些 Python 库可以为您抽象出来,并根据您使用的操作系统自动使用正确的 API。

例如,查看可跨多个平台运行的 Watchdog 库。

或者,如果您使用的是 Linux,您也可以使用 this inotify adapter

【讨论】:

我正在使用ubuntu,我尝试了watchdog,但是当当前文件夹中的任何文件复制到其他位置时,它不会跟踪。我想要一些跨平台的库。因为我的应用程序将在所有主要平台上运行。

以上是关于每当有人尝试从 Python 中的特定文件夹复制任何文件时如何记录日志的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行调用文件中的特定 python 函数? [复制]

如何从 csv 文件中为 python 中的图形打印特定单元格? [复制]

使用python将文件从blob容器复制到另一个容器

如何将文件复制到 Python 脚本中的特定文件夹? [复制]

iOS - 将特定图像从捆绑资源路径复制到 Documents Dir

搜索特定模式并删除Python中一行中的模式[复制]