我想將下一個功能添加到我的跨平臺PyQt4應用程序中:當用戶選擇某個文件並選擇「刪除」操作時,該文件將被移至回收站文件夾,而不是被永久刪除。我想我可以找到使用Win32 API或類似的特定於Windows的解決方案,但我想知道是否可以在Ubuntu/Linux和MaxOSX上通過PyQt4方法執行類似的操作。如何使用PyQt4將文件移動到不同平臺上的回收站/垃圾箱?
22
A
回答
46
這是你正在使用Python這樣的好事,我創建了一個庫,做到這一點前一陣子:
http://www.hardcoded.net/articles/send-files-to-trash-on-all-platforms.htm
PyPI上:你的庫Send2Trash
2
我想Qt確實沒有提供跨平臺的解決方案,在Linux中實現垃圾概念並不是一項完全無關緊要的任務,因爲它基於使用哪個文件管理器而略有不同。
這是一個網站,討論Nautilus中的垃圾概念,另一個是KDE。
在Windows下,你可以像你說的那樣使用Win32 API。 Python solution available here。
Mac OS X將垃圾文件放入與其他* NIX操作系統類似的〜/ .Trash文件中,但我無法快速Google搜索它的任何文檔。看來,OS X垃圾信息文件是某種二進制格式,而不是Linux中的純文本文件。
Symbian沒有桌面概念,因此也沒有垃圾桶概念。其他移動平臺可能也是如此。
編輯:Super User有一些討論揭示,.DS_Store確實存儲關於垃圾文件的信息,但沒有關於格式的細節。
1
best OSX solution我知道使用Applescript。然而,我沒有發明它,所以我只是在這裏鏈接到它。
如果有一個模塊將Win32/KDE/OSX解決方案打包成一個模塊,我感覺並按需導入了正確的模塊,那就太好了。這就是你最終如何解決你的問題嗎?
相關問題
- 1. 將文件移動到Qt中的垃圾桶/回收站
- 2. VBA:將垃圾郵件從垃圾郵件移動到收件箱
- 3. 將郵件從收件箱移動到垃圾郵件文件夾的算法
- 4. 使用AppleScript將郵件移動到垃圾箱
- 5. 收到的垃圾郵件gmail郵箱
- 6. 如何實現與平臺無關的垃圾回收器?
- 7. 如何使用PowerShell將文件移動到回收站?
- 8. 如何將符號鏈接移動到垃圾箱?
- 9. 將文件移動到回收站(PHP)
- 10. Google Drive Rest API v3 - 如何將文件移至垃圾箱?
- 11. perl imap將郵件移動到垃圾箱(Mail :: IMAPClient)
- 12. 移動到垃圾箱應該刪除相關文件cocoa
- 13. 如何使用IMAP將郵件移動到垃圾郵件文件夾?
- 14. 如何將我的收件箱移動到不同的文件夾
- 15. JRuby - 如何啓動垃圾回收器?
- 16. 電子郵件轉到垃圾郵件而不是收件箱
- 17. 移至垃圾箱功能
- 18. Gmail:使用腳本從垃圾箱移動到存檔
- 19. 如何在BASH(Linux)中將文件刪除到垃圾箱
- 20. 以編程方式將項目從垃圾郵件文件夾移動到Outlook.Interop類中的收件箱?
- 21. 如何在gmail imap中將郵件移至垃圾箱?
- 22. 無法將項目移動到垃圾箱
- 23. java垃圾回收
- 24. Java:垃圾回收
- 25. Python垃圾回收
- 26. C#垃圾回收
- 27. Erlang垃圾回收
- 28. java - 垃圾回收
- 29. JDBC垃圾回收
- 30. JS垃圾回收
新的基於ctypes的版本看起來很方便。謝謝 – bialix 2011-05-08 10:03:12
這真棒。在OS X上,它與「放回」選項一起工作(右鍵單擊垃圾桶中的文件時)。謝謝! – Patrick 2015-01-22 19:07:24
這應該被添加到標準庫。有沒有人知道提出這種建議的適當機制?我在bugs.python.org上寫了一些東西,但我覺得這不是適合做這件事的地方:http://bugs.python.org/issue24185 – ArtOfWarfare 2015-05-14 03:39:52