我试图做一个程序,检查一个数组,以确保有四个文件夹部分相同的名称。列表/数组 - 检查日期
所以
对于像0103(1月3日)的日期,应该是0103-1,0103-2,0103-3和0103-4。其他文件夹类似于0107-1,0107-2,0107-3,0107-4。我如何去做这件事?我想过使用glob.glob(python)和通配符来确保只有四个匹配...但我不喜欢这种方法。
有什么建议吗?
我试图做一个程序,检查一个数组,以确保有四个文件夹部分相同的名称。列表/数组 - 检查日期
所以
对于像0103(1月3日)的日期,应该是0103-1,0103-2,0103-3和0103-4。其他文件夹类似于0107-1,0107-2,0107-3,0107-4。我如何去做这件事?我想过使用glob.glob(python)和通配符来确保只有四个匹配...但我不喜欢这种方法。
有什么建议吗?
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不存在
这里找到一个简单的方式给定一串字符串的最大常见前导子串:
>>> 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
“一个数组”?你的意思是列表吗?目录? – 2009-02-06 02:39:20
为什么你不喜欢glob.glob? – sykora 2009-02-06 02:40:42