python re 与 groupdict

标签 python

我正在编写一个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()

请帮帮我!谢谢!

最佳答案

来自 Python 文档:

re.match(模式、字符串、标志=0)¶ 如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的 MatchObject 实例。如果字符串与模式不匹配,则返回 None;请注意,这与零长度匹配不同

在您的代码中,re.match 返回 None 并将其存储在 m 中。所以mNone。然后,您尝试从 m 调用 groupdict,并收到上述错误。因此,在继续处理之前,您应该首先检查 m 是否为 None

关于python re 与 groupdict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261349/

相关文章:

python - 我如何解决Python中凯撒密码的这个问题?

python - mplot3D fill_between 超出轴限制

python - Eclipse 随机用空格替换制表符

python - 使用 lambda 删除 pandas 数据框的几行

python - 使用 PyGame 加载 MP3 并淡出

python - 迭代 DataFrame 时设置值

python - 如何与其他用户一起使用 pyenv?

Python:如何改进归一化算法?

python - pandas.read_csv 中的 dtype=None 有何作用?

python - 将大文件写入 blob 存储并耗尽内存