2

我正在编写一个 python 代码来从 .txt 中删除所有信息。我已经写了一个代码,但总是出现错误: 'NoneType' 对象没有属性'groupdict'

代码:

import re
readfile = open("test.txt")
try:
all_the_text =readfile.read()
m = re.match("(pdflink=[\w\s/]*)author=([\w\s/]*/n)",unicode(all_the_text),flags=re.UNICODE)
m.groupdict()
print m.groupdict()
finally:
readfile.close()
writefile = open('test5.txt','w')
print >> writefile, m.groupdict()
writefile.close()

请帮帮我!谢谢!

4

1 回答 1

2

来自 Python 文档:

re.match(pattern, string, flags=0)¶ If zero or more characters at the beginning of string match the regular expression pattern, return a corresponding MatchObject instance. Return None if the string does not match the pattern; note that this is different from a zero-length match

在您的代码中, re.match 返回 None 并将其存储在m. m也是如此None。然后您尝试调用groupdictfrom m,您会收到上述错误。因此,您应该先检查是否mNone,然后再继续处理。

于 2012-11-07T00:12:52.803 回答