gpt4 book ai didi

python - 我使用 Gio GFile Monitor_file 是否错误?

转载 作者:太空宇宙 更新时间:2023-11-04 04:15:46 24 4
gpt4 key购买 nike

我正在像这样使用 Gio Monitor_file。

def callback(*args):
print 'ok'

gio_pointer = Gio.File.new_for_path(os.environ['HOME']+'/temp')
monitor = gio_pointer.monitor_file(Gio.FileMonitorFlags.NONE, None)
monitor.connect("changed", callback)

修改后的文件没有任何反应。 Gio 适用于其他文件操作,例如创建、读取和写入。

是我用错了,还是系统问题?

我的环境:Gtk 图形、Python、Linux Ubuntu 12.10、普通电脑。

最佳答案

它可能会失败,因为需要 gobject 的主循环才能使信号正常工作。

以下完整示例适用于我:

import os
from gi.repository import Gtk, Gio

# This allows Ctrl+C to exit the program
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)

def callback(m, f, o, event):
# Without this check, multiple 'ok's will be printed for each file change
if event == Gio.FileMonitorEvent.CHANGES_DONE_HINT:
print ('ok')

gio_file = Gio.File.new_for_path(os.environ['HOME']+'/temp')
monitor = gio_file.monitor_file(Gio.FileMonitorFlags.NONE, None)
monitor.connect("changed", callback)

Gtk.main()

关于python - 我使用 Gio GFile Monitor_file 是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com