Python Regex“对象没有属性”

Python Regex“对象没有属性”,第1张

概述我一直在整理我们需要用新内容更新的页面列表(我们正在切换媒体格式).在这个过程中,我正在编辑正确拥有新内容的页面. 这是我正在做的一般想法: >迭代文件结构并获取文件列表 >对于读取缓冲区的每个文件,使用正则表达式搜索匹配特定标记 >如果匹配,则再测试2个正则表达式匹配 >将生成的匹配(一个或另一个)写入数据库 一切正常,直到第3个正则表达式模式匹配,我得到以下内容: ‘NoneType’对象没有 我一直在整理我们需要用新内容更新的页面列表(我们正在切换媒体格式).在这个过程中,我正在编辑正确拥有新内容的页面.

这是我正在做的一般想法:

>迭代文件结构并获取文件列表
>对于读取缓冲区的每个文件,使用正则表达式搜索匹配特定标记
>如果匹配,则再测试2个正则表达式匹配
>将生成的匹配(一个或另一个)写入数据库

一切正常,直到第3个正则表达式模式匹配,我得到以下内容:

‘nonetype’对象没有属性’group’

# only interested in embeded contentpattern = "(<embed .*?</embed>)"# matches content pointing to our old rootpattern2 = 'data="(http://.*?/media/.*?")'# matches content pointing to our new rootpattern3 = 'data="(http://.*?/content/.*?")'matches = re.findall(pattern,filebuffer)for match in matches:    if len(match) > 0:    urla = re.search(pattern2,match)    if urla.group(1) is not None:        print filename,urla.group(1)    urlb = re.search(pattern3,match)    if urlb.group(1) is not None:        print filename,urlb.group(1)

谢谢.

解决方法 您的异常意味着urla的值为None.由于urla的值由re.search调用确定,因此re.search返回None.当字符串与模式不匹配时会发生这种情况.

所以基本上你应该使用:

urla = re.search(pattern2,match)if urla is not None:    print filename,urla.group(1)

而不是你现在拥有的.

总结

以上是内存溢出为你收集整理的Python Regex“对象没有属性”全部内容,希望文章能够帮你解决Python Regex“对象没有属性”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存