Tôi đang cố gắng thêm vào danh sách tệp "mới được sử dụng" từ Python 3 trên Ubuntu.Làm cách nào để thêm một mục vào danh sách tệp "được sử dụng gần đây" của GTK từ Python?
tôi có thể thành công đọc danh sách tập tin vừa sử dụng như thế này:
from gi.repository import Gtk
recent_mgr = Gtk.RecentManager.get_default()
for item in recent_mgr.get_items():
print(item.get_uri())
này in ra cùng một danh sách các tập tin tôi thấy khi nhìn vào "gần đây" trong Nautilus, hoặc nhìn vào vị trí "Được sử dụng gần đây" trong hộp thoại tệp của các ứng dụng như GIMP.
Tuy nhiên, khi tôi cố gắng thêm một mục như thế này (nơi /home/laurence/foo/bar.txt
là một tập tin văn bản hiện hành) ...
recent_mgr.add_item('file:///home/laurence/foo/bar.txt')
... các tập tin không hiển thị trong phần gần đây của Nautilus hoặc trong hộp thoại tập tin. Nó thậm chí không hiển thị trong kết quả được trả về bởi get_items()
.
Làm cách nào để thêm tệp vào danh sách tệp được sử dụng gần đây của GTK từ Python?
@oldtechaa Danh sách các file vừa nghe thấy bởi Nautilus và hộp thoại tập tin trong các ứng dụng khác (kể cả GIMP, Inkscape, và thậm chí Chrome) dường như giống hệt nhau. Nhiều ứng dụng mặc định lọc danh sách thành loại tệp riêng của chúng, nhưng nếu bạn thay đổi bộ lọc thành "Tất cả tệp", bạn sẽ thấy chính xác danh sách mà Nautilus hiển thị và được hiển thị bằng mã trong câu hỏi. –
'return_item()' return là gì? – andlabs
@andlabs Gọi 'add_item()' trả về 'True'. (Trên thực tế, dường như luôn luôn trả về 'True', ngay cả khi URI mà tôi truyền vào nó là vô nghĩa hay hoàn toàn vô nghĩa. Ngoại lệ duy nhất là nếu tôi chuyển nó thành' non'str'. Sau đó nó tăng 'TypeError'.) –