如何查看更改的文件?

如何查看更改的文件?

我有一个日志文件是由另一个进程编写的,我想观察它的变化。每次发生更改时,我都希望读取新的数据来对其进行一些处理。

做这件事最好的方法是什么?我希望Pywin 32图书馆会有一些钩子。我找到了win32file.FindNextChangeNotification函数,但不知道如何让它查看特定的文件。

如果有人做过这样的事,我会很感激你.

[编辑]我应该说我想要的是一个不需要轮询的解决方案。

[编辑]诅咒!这似乎不适用于映射的网络驱动器。我猜Windows不会像在本地磁盘上那样“听到”文件的任何更新。


GCT1015
浏览 763回答 4
4回答

倚天杖

你试过用看门狗?PythonAPI库和shell实用程序来监视文件系统事件。目录监视使用跨平台API。用于响应目录更改运行命令的shell工具。中的一个简单示例快速开始。快速启动...

慕码人8056858

如果您想要一个多平台解决方案,那么请检查QFileSystemWatcher..这里有一个示例代码(未消毒):from PyQt4 import QtCore@QtCore.pyqtSlot(str)def directory_changed(path):     print('Directory Changed!!!')@QtCore.pyqtSlot(str)def file_changed(path):     print('File Changed!!!')fs_watcher = QtCore.QFileSystemWatcher(['/path/to/files_1', '/path/to/files_2',      '/path/to/files_3'])fs_watcher.connect(fs_watcher, QtCore.SIGNAL('directoryChanged(QString)'),      directory_changed)fs_watcher.connect(fs_watcher, QtCore.SIGNAL('fileChanged(QString)'), file_changed)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python