Python - 线程化 pyinotify 输出。最好写入文件或字符串

Posted

技术标签:

【中文标题】Python - 线程化 pyinotify 输出。最好写入文件或字符串【英文标题】:Python - threaded pyinotify output. Better to write to file or to a string 【发布时间】:2010-08-05 16:21:24 【问题描述】:

我有一个运行线程的 pyinotify 观察程序,称为单独的类,目前它只是在终端窗口中打印它的发现,如果我希望我的脚本根据这些更改执行操作,我最好:

A) 使用每个通知修改一个数组

B) 写入 /tmp 中的文件并从我的主脚本中获取它?

c) 放弃编程

感谢您的任何意见,

斯图尔特

【问题讨论】:

【参考方案1】:
import Queue
changes = Queue.Queue()

现在在发现更改的线程中使用changes.put,在应该对这些更改采取行动的线程中使用changes.get(Queue 中还有其他一些有用的方法 您应该检查 - 另请注意,根据文档,该模块在 Python 3 中已重命名为 queue,全部小写)。队列本质上是线程安全的,因此通常是在 Python 中安排线程间协作的最佳方式。

【讨论】:

谢谢亚历克斯,非常有帮助。 :o)

以上是关于Python - 线程化 pyinotify 输出。最好写入文件或字符串的主要内容,如果未能解决你的问题,请参考以下文章

Python日志监控系统处理日志(pyinotify)

python pyinotify模块详解

python中文件变化监控-watchdog

pyinotify ERROR] add_watch: cannot watch

利用pyinotify监控文件内容,像tailf命令但比它更强

使用pyinotify实现加强版的linux tail -f 命令,并且对日志类型的文本进行单独优化着色显示。