Frage

würde Ich mag die nächste Funktion meiner Cross-Plattform PyQt4 Anwendung hinzuzufügen: wenn der Benutzer wählt einige Datei und wählen Sie „Entfernen“ Aktion darauf, dass Datei statt auf Papierkorb-Ordner verschoben werden permantly entfernt zu werden. Ich denke, ich kann für spezielle Windows-Lösung unter Verwendung von Win32-API oder etwas ähnliches finden, aber ich möchte wissen, ist ein ähnlicher Betrieb auf Ubuntu / Linux ausgeführt werden konnte und MaxOSX auch über PyQt4 Methoden.

War es hilfreich?

Lösung

Es ist eine gute Sache, die Sie Python verwenden, habe ich eine Bibliothek nur zu tun, dass vor einer Weile:

http: //www.hardcoded. net / articles / send-files-to-trash-on-all-platforms.htm

Auf PyPI: Send2Trash

Installation

Mit Conda:

conda install Send2Trash

Mit pip:

pip install Send2Trash

Verwendung

Datei löschen oder Ordner

from send2trash import send2trash
send2trash("directory")

Andere Tipps

Ich denke, es ist wirklich keine Cross-Plattform-Lösung von Qt zur Verfügung gestellt und es ist nicht eine völlig triviale Aufgabe, den Müll Konzept in Linux zu implementieren, da es etwas anders ist, basierend auf welcher Datei-Manager wird verwendet.

Hier ist ein Ort der Diskussion der Müll-Konzept in Nautilus und eine weitere für KDE .

Unter Windows können Sie die Win32-API verwenden, wie Sie gesagt haben. Python Lösung hier zur Verfügung.

Mac OS X setzt die trashed Dateien in ~ / .Trash ähnlich zu anderen * NIX OSes, aber ich konnte nicht schnell Google alle Unterlagen für sie. Es scheint, dass die OS X Trash-Info-Datei eine Art Binärformat und nicht Klartext wie in Linux.

Symbian kein Desktop-Konzept hat und somit keine Mülltonne Konzept entweder. Es könnte für andere mobile Plattformen ähnlich sein.

EDIT: Super- Benutzer einige Diskussionen hat enthüllt, dass .DS_Store tatsächlich Informationen speichert über trashed Dateien, aber keine Einzelheiten über das Format.

scroll top