擅长:python、mysql、java
<p>我不确定GIO是否允许您同时拥有多个监视器,但如果允许,您就没有理由不能这样做:</p>
<pre><code>import gio
import os
def directory_changed(monitor, file1, file2, evt_type):
if os.path.isdir(file2): #maybe this needs to be file1?
add_monitor(file2)
print "Changed:", file1, file2, evt_type
def add_monitor(dir):
gfile = gio.File(dir)
monitor = gfile.monitor_directory(gio.FILE_MONITOR_NONE, None)
monitor.connect("changed", directory_changed)
add_monitor('.')
import glib
ml = glib.MainLoop()
ml.run()
</code></pre>
<p>*当我说“没有理由”时,这有可能成为一个资源消耗者,尽管对GIO的了解几乎为零,但我不能说。在Python中,您完全可以使用几个命令(<code>os.listdir</code>)来完成自己的任务。可能看起来像这样</p>
^{pr2}$