以下是我要完成的事情:
提取的代码:
m = re.search('<td>(?P<alt>\d+)', response.read())
...
m = re.search('<td>(?P<alt>\w+)', response.read())
print m.group('alt')
我得到了:
AttributeError: 'NoneType' object has no attribute 'group'
如果我取消注释第二次搜索一切都很好。我不明白这种行为。
这样的错误将我重定向到this stackoverflow issue和this - 但无济于事 - 这些都没有解决我的问题。
我不关心效率,所以我不使用compile
。
答案 0 :(得分:2)
假设response
是一个类似文件的对象,第二次调用read
可能会在您之前使用该文件时返回一个空字符串。
data = response.read()
m = re.search('<td>(?P<alt>\d\d*)', data)
m = re.search('<td>(?P<alt>\d\d*)', data)
print m.group('alt')
为什么要多次拨打search
?