import re
# r = re.compile('^\w+__.+__\d+\.ok$')
test_lst = ['test', 'public__test_t__16385.ok', 'tsdasys', 'yuyguyuyvhhj']
# test_str = 'public__test_t__16385.ok'
for t in test_lst:
print '<>' + t
for t in test_lst:
print '<<' + t
# rm = re.match(r'.*ok$', t)
if re.match('^\w+__.+__\d+\.ok$', t) is not None:
print t + ' ok'
continue
test_lst.remove(t)
print test_lst
在Python2环境下,上面这个代码始终无法处理超过最后面这个非ok的元素,在第二个循环中也无法打印出来。
我是想把所有非ok结尾的文件全部remove。但是列表最后有超过两个非ok的元素,就会导致最后的那个元素神秘消失。
有知道的大佬,能帮忙看看是什么原因吗?
最好不是