python中有用于文件管理的库/模块吗?

python中有用于文件管理的库/模块吗?,python,Python,试图找出是否有任何良好的模块,允许不断监测一个目录,一旦有一个新的文件在那里,一些功能是初始化 另外,不应对通过FTP传入的部分传输文件执行操作。您正在查找文件系统事件模块 你正在运行哪个操作系统 (免责声明:我正在维护这两个模块) 在Linux上,您可以使用。看一看mercurial 在Mac OS X(>=10.5)上,您可以使用。看 其他的替代品,你可以看一下,但是我从来没有尝试过这些模块。除了NICDUMZ的优秀模块之外,你还可以考虑一个丰富的(丰富的文档)替代方案。我认为Nic更简

试图找出是否有任何良好的模块,允许不断监测一个目录,一旦有一个新的文件在那里,一些功能是初始化


另外,不应对通过FTP传入的部分传输文件执行操作。

您正在查找文件系统事件模块

你正在运行哪个操作系统

(免责声明:我正在维护这两个模块)

  • 在Linux上,您可以使用。看一看mercurial
  • 在Mac OS X(>=10.5)上,您可以使用。看

其他的替代品,你可以看一下,但是我从来没有尝试过这些模块。

除了NICDUMZ的优秀模块之外,你还可以考虑一个丰富的(丰富的文档)替代方案。我认为Nic更简单(至少在基本功能方面),但我还没有详细研究过它——我更熟悉pyinotify。顺便说一句,有趣的是,后者是纯Python(当然有

ctypes
,-)

既然您提到“应该能够使用unix”,那么您应该确切地指定需要支持哪些unix版本,并研究它们是否提供类似的功能(如果是,通过什么接口)。例如,inotify的这句话是:

inotifyapi是特定于Linux的。其他一些系统提供 类似的机制,例如FreeBSD有kqueue,Solaris有/dev/poll


Nic已经提到了MacOSX上的FSEvents。一旦确定了在给定的感兴趣的系统(最坏的情况是,如果没有预先制作的Python版本)上执行此操作的C方式,您可能可以使用
ctypes
,类似于pyinotify对inotify的使用方式。顺便说一句,为了完整性:在Windows上,您可以使用
ReadDirectoryChangesW
(通常您可以通过ctypes或Win32扩展名的Win32文件来实现这一点)。

高级库通常为它们所使用的每个平台实现不同的解决方案。幸运的是,您只需要使用一种方法——高级库


具体地说,如果您可以将QT的QFileSystemwatcher与python绑定一起使用,或者使用GLib的GFileMonitor(我在应用程序中使用它,尽管它只是用于Linux),您可能会节省工作。

我正在实现一个名为watchdog的跨平台库,它可以 可能就是你要找的。可以在

嗯。
=)

操作系统的副本可能是Linux/Unix,但是它应该能够与Unix一起工作。通用的“Unix”没有这样的功能;特定的Unix版本通常会这样做,但您必须指定哪些版本(Solaris、HPUX、BSD、AIX等等),有些版本可能会让您走运。我正在深入研究glib的文件系统代码(称为“gio”,在pygobject中也被称为python模块“gio”),它有针对inotify和win32的实现,以及作为轮询回退的“fam”