每当有人尝试从 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 脚本中的特定文件夹? [复制]