6

さまざまなファイルへのパスを必要とするプログラムがあります。ファイルは異なるフォルダーに存在し、不規則な間隔で常に更新されます。

ファイルが更新されると、名前が変更されるため、たとえば、dir1私が持っているフォルダーfv01fv02. 後で誰かが追加しfv02_v1ます。誰かが追加した翌日fv03など。言い換えれば、私は常に更新されたファイルを持っていますが、名前は異なります。

「実行」フォルダーにこれらのファイルへのシンボリックリンクを作成し、そのリンクが常に作成された最新のファイルを指すようにします。

Python または Bash でこれを行うことができますが、これは珍しい問題ではないため、そこには何があるか疑問に思っていました。

あなたならどうしますか?

ありがとうございました。

ファン

PS。私のオペレーティングシステムは Linux です。私は現在、最新のファイルを時々検索する(毎分更新する)単純なデーモン(Python)を持っています。私にはちょっとやり過ぎに思えます。

4

1 に答える 1

3

記載されていないというやむを得ない理由がない限り(たとえば、ディレクトリ内の数千のファイル)、変更時間でファイルを並べ替えるスクリプトを使用して、提案した方法で実行してください。私が知っている秘密の方法はありません。

inotifyを使用してディレクトリを監視し、すぐにリンクを設定するデーモンを作成することもできますが、それはやり過ぎのようです。

編集:あなたの編集を見たところです。あなたはすでにデーモンを持っているので、inotifyはそれほど悪い考えではないかもしれません。ディレクトリ内の何かが変更されたときにOSが通知するので、常にクエリを実行するよりもいくらか効率的です。

私はあなたに特定の何かを指摘するのに十分なPythonを知りませんが、inotifyのラッパーが存在する必要があります。

于 2010-01-22T01:52:55.117 に答える