我正在尝试在Ubuntu上使用Python 3将文件添加到“最近使用”的文件列表中。
我能够成功地像这样读取最近使用的文件列表:
from gi.repository import Gtk
recent_mgr = Gtk.RecentManager.get_default()
for item in recent_mgr.get_items():
print(item.get_uri())
这将打印出与我在Nautilus中查看“最近”或查看应用程序(如GIMP)的文件对话框中的“最近使用”位置看到的相同文件列表。
但是,当我尝试添加像这样的项目时(其中/home/laurence/foo/bar.txt
是一个现有的文本文件)...
recent_mgr.add_item('file:///home/laurence/foo/bar.txt')
即使使用get_items()
函数返回的结果,该文件也无法在Nautilus的“最近”部分或文件对话框中显示。我该如何从Python中将文件添加到GTK的最近使用文件列表中?
add_item()
返回什么? - andlabsadd_item()
返回true会暗示它是其他问题。它可能会错误地选择了错误的历史文件吗?如果它返回true,则表明它已成功将其写入某个位置。 - OrderAndChaosadd_item()
不使用GError,而GtkRecentManager的每个其他方法都在使用。我会稍后询问这个问题;也许GTK +的开发人员能够猜出发生了什么... - andlabsg_content_type_guess
阻塞程序流程,我认为,见下面我的回答。 - Jacques Gaudin