Python 获得';属性错误';在除最后一个之外的所有正则表达式测试中
我的代码应该贯穿文件的每一行并执行一个操作。该文件如下所示:Python 获得';属性错误';在除最后一个之外的所有正则表达式测试中,python,regex,Python,Regex,我的代码应该贯穿文件的每一行并执行一个操作。该文件如下所示: FIREFOX::https://addons.mozilla.org/en-US/firefox/addon/ogame-fleet-counter/::(.*) 每行有三件事:名称:URL::正则表达式 代码在文件中只有一行时运行良好,但除此之外,代码只在最后一行运行,其他行在运行前抛出一个错误:AttributeError:'NoneType'对象没有属性“group” 我尝试使用其他方法来运行该文件,因为我认为存在错误,但显然
FIREFOX::https://addons.mozilla.org/en-US/firefox/addon/ogame-fleet-counter/::(.*)
每行有三件事:名称:URL::正则表达式
代码在文件中只有一行时运行良好,但除此之外,代码只在最后一行运行,其他行在运行前抛出一个错误:AttributeError:'NoneType'对象没有属性“group”
我尝试使用其他方法来运行该文件,因为我认为存在错误,但显然这不是问题所在
#!/usr/bin/python
import re
import urllib2
import sys
with open("addons.cfg", "r") as addons:
for line in addons:
try:
name, url, regex = line.split("::")
response = urllib2.urlopen(url)
page_source = response.read()
m = re.search(regex, page_source)
if m:
print(m.group(1))
else:
print("Couldn't find!")
except:
print "Unexpected error:", sys.exc_info()[0]
raise
视频以更好地显示错误:发现我的错误,我不得不使用
regex.strip()
:
你能展示一下你在
page\u source
中收到了什么吗?@AmiHollander这是如此接近于一个副本,以至于如果你在这个问答中找不到解决问题的方法,我会感到惊讶:-)@SimonShine我的代码可以工作,但只在文件的最后一行运行代码,如果我只有2/3/4行可以与最后一行一起工作的话。但是我尝试解码成Unicode,仍然不起作用。当然,如果m:test-re.search()
没有匹配项,则返回None
,这是有文档记录的。
#!/usr/bin/python
import re
import urllib2
import sys
with open("addons.cfg", "r") as addons:
for line in addons:
name, url, regex = line.split("::")
source = urllib2.urlopen(url).read()
regex = regex.strip()
try:
regex_result = re.search(regex, source)
if regex_result:
print(regex_result.group(1))
else:
print("error")
except:
print "Unexpected error:", sys.exc_info()[0]
raise