0

タイトルが示すように、Pythonを使用してディレクトリの変更(主にファイルの追加)を監視する必要があります

ここでいくつかの解決策に出くわしましたが、どれも適切に機能しません

1.1つの解決策は「fcntl」を使用していました。自分のシステムで試してみましたが、「no attribute F_SETSIG」というエラーで失敗しました。

2.ダウンロードしたくないxcodeがないため、PythonモジュールWatchdogのインストールに失敗します(ダウンロードするには大きすぎ、そのような小さな作業には不要なものがたくさんあります)

受け入れられた解決策はWindows固有のものであり、大きなパッケージなしでosxで動作するものは他にありません

したがって、最終的には、XCODE、PyQT、ポーリング、ビジー ループ (つまり、数秒ごとに DIR をチェックする) を含むソリューションは必要ありません。

Applescripts はデフォルトでこれをサポートしているので、大きなモジュール/パッケージがなくても python もそうすべきだと思います

ちなみに私はOS X 10.7.2とpython 2.7.3を使用しています

前もって感謝します

4

2 に答える 2

1

使用したい API はFSEvents API です。Python にはその API へのバインディングが同梱されていないため、独自のバインディングを作成するか、MacFSEventspython-watchdogなどのライブラリを使用する必要があります。ただし、実際には Xcode をインストールする必要があります。これらのライブラリでは C バインディングをコンパイルする必要があり、Xcode は C コンパイラを入手する最も簡単な方法です。

本当に Xcode を避けたい場合は、ctypes モジュールを使用して独自のバインドを作成できますが、それは首に大きな苦痛を与えることになります。

Applescripts はデフォルトでこれをサポートしているので、大きなモジュール/パッケージがなくても python もそうすべきだと思います

運が悪い。利用可能なさまざまなサードパーティ ライブラリはそれほど大きくなく、C コンパイラが必要なだけです。

于 2012-07-19T22:05:50.493 に答える
0

私は今osxでウォッチドッグを使用しています。それは素晴らしい働きをします。xcodeをインストールします。または、コンパイラ用のコマンドラインツールだけです。

xcodeなしでgccコンパイラをインストールできます:https ://github.com/kennethreitz/osx-gcc-installer

本当にapplescriptアプローチが必要な場合は、pythonバインディングappscriptを使用できます。http://appscript.sourceforge.net/py-appscript/index.html
もそれらを使用しており、うまく機能します。

したがって、最終的には、XCODE、PyQT、ポーリング、ビジーループ(つまり、数秒ごとにDIRをチェックする)を含むソリューションは必要ありません。

基本的に、あなたは何も欲しくないと言っています。どのソリューションでも、ある形式のポーリングを使用します。そのシステムがトリガーされたか、アプリのビジーループか。選択したソリューションを使用するには、コンパイラをインストールするのに1秒かかるだけです。

于 2012-07-19T22:09:28.417 に答える