列表/数组 - 检查日期

时间:2009-02-06 01:35:01

标签: python sorting

我正在尝试创建一个检查数组的程序,以确保有四个部分名称相同的文件夹。

所以

对于像0103(1月1日)这样的日期,应该有0103-1,0103-2,0103-3和0103-4。其他文件夹如0107-1,0107-2,0107-3,0107-4。我该怎么做呢?我想过使用glob.glob(python)和通配符来确保只有四个匹配...但我不喜欢这种方法。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

import os

def myfunc(date, num):
    for x in range(1, num+1):
        filename = str(date) + "-" + str(x)
        if os.path.exists(filename):
            print(filename+" exists")
        else:
            print(filename+" does not exist")

myfunc('0102', 3);

0102-1不存在

0102-2不存在

0102-3不存在

答案 1 :(得分:0)

这是一种在给定字符串数组的情况下找到最大公共前导子字符串的简单方法:

>>> arr = ['0102-1', '0102-2', '0102-3']
>>> for i in reversed(range(len(arr[0]))):
...     for s in arr:
...         if not s.startswith(arr[0][:i+1]):
...            break
...     else:
...         break
... else:
...     if i == 0: i = -1
...
>>> arr[0][:i+1]
'0102-'
>>> i
4