0

私はプログラミングにかなり慣れていません。最初に試したことの1つは、(学習目的で)独自のファイルマネージャーを作成することです。私はpython2.7とGTK+3ライブラリを使用しています。

ファイルマネージャーを書いているときに問題に直面しました:現在のフォルダーのファイルの変更にどのように対応するのですか?たとえば、ファイルマネージャでホームフォルダを開いています。次に、別のプログラムがそこに新しいファイルを作成します。ファイルマネージャはファイルのリストを更新し、実際の結果を表示する必要があります。どうすれば実装できますか?

私のファイルマネージャーのコードはgithubで入手できます。

4

2 に答える 2

3

ここで使用するのはGIOです。これは、GTK のベースとなっている GLib によって提供されます。これを行うためにポーリングを使用しないでください。多くの場合、ポーリングは遅く、リソース (CPU、電力 - CPU がディープ スリープ モードになるのを防ぐため) を消費し、コンテンツが変更されたときに通知するだけの非同期 API に対しては何のメリットもありません。PyGTK/GIO: ディレクトリの変更を再帰的に監視するも参照してください。

そのようにインポートします: from gi.repository import Gio

ちなみに、PyGTK (GTK 2 に使用する必要があります) はPyGObject (GTK3 に使用する必要があります) を支持して廃止されたため、質問の PyGTK タグを削除しています。

編集:

Python + GTK3 チュートリアルへのリンクは次のとおりです。

于 2012-10-30T10:31:05.383 に答える
-1

数秒ごとにディレクトリの内容を確認するだけです。そもそもコンテンツを取得するためにos.listdirを使用していると思いますか?もう少しやってください。

または、効率が問題になる場合は、以下をお読みください。

例としてこれを見てください、またはもっとたくさんのためにこれを見てください

これを見た?

これらのリンクは、単純なGoogleおよびStackoverflow検索から収集されました。それらがあなたにとって十分に有益でない場合は、あなたの要件であなたの質問を更新してください

于 2012-10-30T06:06:06.880 に答える