我对编程很陌生,我尝试的第一件事就是编写自己的文件管理器(用于学习目的)。我使用python2.7和GTK + 3库。
在编写我的文件管理器时遇到问题:如何对当前文件夹文件中的更改做出反应?例如,我在文件管理器中打开了主文件夹。然后另一个程序在那里创建新文件。文件管理器应刷新文件列表并显示实际结果。我该如何实施呢?
我的文件管理员代码可在github上找到。
答案 0 :(得分:3)
GIO是你应该在这里使用的。它由GTK提供的GLib提供。不要使用轮询来做到这一点。轮询通常很慢,耗费资源(CPU,电源 - 因为它可以防止CPU进入深度睡眠模式),并且对于只在内容发生变化时通知您的异步API没有任何好处。 另请参阅PyGTK/GIO: monitor directory for changes recursively。
你这样导入:
from gi.repository import Gio
顺便说一下,我正在删除问题的PyGTK标签,因为PyGTK(应该用于GTK 2)已经过时,而不是PyGObject(应该用于GTK3)。 / p>
修改强>
以下是python + GTK3 tutorial的链接。
答案 1 :(得分:-1)