0

我是 python 新手,需要快速帮助解决以下问题。非常感谢任何帮助或建议。

我有一个 python 脚本,它从一个名为XYZ. 该目录XYZ具有用于不同应用程序的子目录,然后是其中的日志。例如:/XYZ/host1/syslog.log 目前,python 脚本使用-p执行时提供的选项来获取清除日期。

我想更改 下一个特定目录的清除日期XYZ,而不更改目录的位置。有人告诉我,这可以通过创建一个例外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 回答