我正在尝试创建一个检查数组的程序,以确保有四个部分名称相同的文件夹。
所以
对于像0103(1月1日)这样的日期,应该有0103-1,0103-2,0103-3和0103-4。其他文件夹如0107-1,0107-2,0107-3,0107-4。我该怎么做呢?我想过使用glob.glob(python)和通配符来确保只有四个匹配...但我不喜欢这种方法。
有什么建议吗?
答案 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