file_lsit
Out[10]:
['.idea',
'10月.xls',
'11月.xls',
'12月.xls',
'1月.xls',
'2月.xls',
'3月.xls',
'4月.xls',
'5月.xls',
'6月.xls',
'7月.xls',
'8月.xls',
'9月.xls',
'账务分析.py']
for i in file_lsit:
a = re.search(r'\b.+[xls]\b',str(i))
b = a.groups()
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Roaming\Python\Python38\site-packages\IPython\core\interactiveshell.py", line 3437, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 3, in
b = a.groups()
AttributeError: 'NoneType' object has no attribute 'groups'
代码中需要在遍历的同时,要判断一下,没有匹配到的,即为None时给过滤掉,否则会出现None类型无XXX的属性值错误。用group获取匹配值,另外用endswith来判断更容易些。:
for i in file_lsit:
#print(i)
if i.endswith('xls'):
print(i)
x=re.match('.*.xls',i)
if x is not None:
print(x.group())
前后两个不是xls文件的返回的None值的,如果要获取xls的文件可以直接用re.findall