PyQt4 を使用して、別のプラットフォームでファイルをごみ箱/ゴミ箱に移動するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3628517

質問

クロスプラットフォームの PyQt4 アプリケーションに次の機能を追加したいと思います。ユーザーが何らかのファイルを選択し、そのファイルに対して「削除」アクションを選択すると、そのファイルは完全に削除されるのではなく、ごみ箱フォルダーに移動されます。Win32 API または同様のものを使用して Windows 固有のソリューションを見つけることができると思いますが、同様の操作を PyQt4 メソッド経由で Ubuntu/Linux および MaxOSX でも実行できるか知りたいです。

役に立ちましたか?

解決

Python を使用しているのは良いことです。少し前にそれを行うためのライブラリを作成しました。

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

PyPI の場合: Send2Trash

インストール

conda を使用する:

conda install Send2Trash

ピップの使用:

pip install Send2Trash

使用法

ファイルまたはフォルダーを削除する

from send2trash import send2trash
send2trash("directory")

他のヒント

Qt が提供するクロスプラットフォーム ソリューションは実際には存在しないと思います。また、ゴミ箱の概念は使用しているファイル マネージャーによって若干異なるため、Linux にゴミ箱の概念を実装するのは完全に簡単な作業ではありません。

ここにゴミの概念について議論しているサイトがあります オウムガイ そしてもう一つは KDE.

Windows では、あなたが言ったように Win32 API を使用できます。 Python ソリューションはここから入手できます.

Mac OS X は、他の *NIX OS と同様に、ゴミ箱に入れられたファイルを ~/.Trash に置きますが、Google でドキュメントをすぐに検索することはできませんでした。OS X のゴミ箱情報ファイルは、Linux のようなプレーン テキストではなく、ある種のバイナリ形式のようです。

Symbian にはデスクトップの概念がないため、ゴミ箱の概念もありません。他のモバイル プラットフォームでも同様の可能性があります。

編集: スーパーユーザー には、.DS_Store が実際にゴミ箱に捨てられたファイルに関する情報を保存していることを明らかにするいくつかの議論がありますが、形式についての詳細はありません。

最高のOSXソリューション Applescript を使用していることは知っています。ただし、私がそれを発明したわけではないので、ここでは単にリンクすることにします。

Win32/KDE/OSX ソリューションを 1 つにパッケージ化し、オンデマンドで正しいものをインポートするモジュールがあれば便利だと思います。結局、それで問題は解決したんですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top