web-dev-qa-db-ja.com

ファイル/ディレクトリの内容を監視していますか?

私はクロスプラットフォームのファイル監視を探していますpythonパッケージ?クロスプラットフォームのものですか?

55
dahpgjgamgan

Unix/Linuxベースのシステムでは、 File Alteration Monitor Python bindings to libfam を使用する必要があります。

Windowsベースのシステムでは、Win32 API FindFirstChangeNotification および関連する関数に結び付ける必要があります。

クロスプラットフォームの方法については、良いクロスプラットフォームの方法については知りません。上記の2つの方法のいずれかを使用するOSであるOSを検出した後、どちらのOSでも動作するモジュールを自分で構築するのが最善だと思います。

32
Brian R. Bondy

Pythonプログラムはファイルシステムのイベントを可能な限り移植可能に監視するのに役立つMITライセンスのライブラリに取り組んでいます。私は解決しようとしている違いがあります。 :

こちらをご覧ください: http://github.com/gorakhargosh/watchdog/

パッチと貢献を歓迎します。

それが役に立てば幸い。 =)乾杯。

85
GoraKhargosh

このオプションもチェックしてください。

http://pypi.python.org/pypi/watchdog

WindowsおよびOS Xのクロスプラットフォームアプリで使用されました。

4
reese.ch

あなたの問題について述べているこのリンクを見つけました。実際にはソリューション/ライブラリを提供していませんが、役立つと思います。 http://www.stepthreeprofit.com/2008/06/cross-platform-monitoring-of-filesystem.html

私はまだクロスプラットフォームのものはないと思うので、あなたはあなた自身を転がしたいと思うかもしれません。

私はこの分野で経験が浅いので、よくわかりません。これがお役に立てば幸いです。


私は訂正します。gaminはcygwinで利用できます。AdamBernierがコメントで私に指摘したとおりです。 cygwinの他のオプションを調査することもできます(存在する場合)。

2
batbrat

Linuxで最も簡単な方法は、inotifywaitを使用することです(カーネルが十分に最近のものである場合)。特別なバインディングは必要ありません。inotifywaitは、任意の方法で標準出力に出力行を印刷するようにカスタマイズできます。よく見てください この質問 .

0
JesperE