Python 如何使用PyQt4将文件移动到不同平台上的回收站/垃圾箱?
我想为我的跨平台PyQt4应用程序添加下一个功能:当用户选择某个文件并对其选择“删除”操作时,该文件将被移动到回收站文件夹,而不是永久删除。我想我可以用Win32 API或类似的东西找到Windows特定的解决方案,但我想知道类似的操作是否也可以通过PyQt4方法在Ubuntu/Linux和MaxOSX上执行。我想Qt确实没有提供跨平台的解决方案,在Linux中实现垃圾桶概念并不是一件简单的任务,因为它与使用的文件管理器略有不同 这里有一个网站在讨论中的垃圾概念,另一个是关于垃圾的 在Windows下,您可以像您所说的那样使用Win32 API Mac OS X将垃圾文件放入~/.Trash,与其他*NIX操作系统类似,但我无法快速搜索任何文档。OSX垃圾信息文件似乎是某种二进制格式,而不像Linux中的纯文本 Symbian没有桌面概念,因此也没有垃圾桶概念。其他移动平台也可能类似 编辑:有一些讨论表明.DS_Store确实存储了关于垃圾文件的信息,但没有关于格式的详细信息。我知道使用Applescript。然而,我并没有发明它,所以我将在这里简单地链接到它Python 如何使用PyQt4将文件移动到不同平台上的回收站/垃圾箱?,python,qt4,cross-platform,pyqt4,recycle-bin,Python,Qt4,Cross Platform,Pyqt4,Recycle Bin,我想为我的跨平台PyQt4应用程序添加下一个功能:当用户选择某个文件并对其选择“删除”操作时,该文件将被移动到回收站文件夹,而不是永久删除。我想我可以用Win32 API或类似的东西找到Windows特定的解决方案,但我想知道类似的操作是否也可以通过PyQt4方法在Ubuntu/Linux和MaxOSX上执行。我想Qt确实没有提供跨平台的解决方案,在Linux中实现垃圾桶概念并不是一件简单的任务,因为它与使用的文件管理器略有不同 这里有一个网站在讨论中的垃圾概念,另一个是关于垃圾的 在Windo
我觉得,如果有一个模块能够将Win32/KDE/OSX解决方案打包成一个解决方案,并根据需要导入正确的解决方案,那就太好了。这就是您最终解决问题的方法吗?使用Python是件好事,我刚才创建了一个库来实现这一点: 关于PyPI: 安装 使用conda:
conda install Send2Trash
使用pip:
pip install Send2Trash
用法
删除文件或文件夹
from send2trash import send2trash
send2trash("directory")
基于ctypes的库的新版本看起来非常方便。谢谢这太棒了。在OSX上,它使用“放回”选项(右键单击垃圾箱中的文件时)。谢谢应将其添加到标准库中。有人知道提出这种建议的适当机制吗?我在bugs.python.org上写了一些东西,但我觉得这不是一个合适的地方:它还向垃圾桶发送文件夹,以安装Send2trashf,供那些发现这个问题并使用PyQt5而不是PyQt4的人使用:在Qt5.15中添加了()。我希望这有帮助!