0

私はPythonが初めてで、以下の問題について簡単なヘルプが必要です。どんな助けや提案も大歓迎です。

というディレクトリからログをパージする python スクリプトがありXYZます。ディレクトリXYZには、さまざまなアプリケーションのサブディレクトリがあり、その中にログが含まれています。例:/XYZ/host1/syslog.log 現在、python スクリプトは、-p実行時に指定されたオプションでパージ日を取得します。

XYZディレクトリの場所を変更せずに、特定の 1 つのディレクトリの削除日を変更したいと考えています。2d arrayホストに提供する例外を作成することでこれを行うことができ、そのアレイにホストが存在しない場合はオプション# of daysからパージ日が取られると誰かが私に言いました。-p

誰かがこの配列の作成を手伝ってくれませんか。

前もって感謝します!

4

1 に答える 1

0

私が考えることができる最も簡単な方法は、dictから継承することだと思います:

class PurgeTimes(dict):
    def __missing__(self,key):
        return default_purge_time  #somehow created with -p commandline option

次に、別の (デフォルト以外の) 時間にパージするディレクトリを追加できます。

purge_times=PurgeTimes()
#If you perfer, you could also use a `defaultdict` to do the same thing
#without subclassing.
#purge_times=collections.defaultdict(lambda : default_purge_time)

purge_times[dir1]=time1
purge_times[dir2]=time2

最後に、ディレクトリをループしてパージします

for d in directories:
    if get_dir_time(d) < purge_time[d]:
       purge(d)

*製品化する前にこれをテストしてください * ;^)

于 2012-07-11T19:21:13.360 に答える