我正在使用re.search在.txt
文件中找到一个值,当我运行它时,我得到你需要在屏幕上打印的值,这是我运行代码时出现的。
https://docs.google.com/file/d/0B1gujcFhb7SyeG9aalFoaXlLd28/edit?usp=drivesdk',
Traceback (most recent call last):
File "url_finder.py", line 5, in <module>
print re.search("(?P<url>https?://[^\s]+)", line).group()
AttributeError: 'NoneType' object has no attribute 'group'
https://docs.google.com/file/d/0B1gujcFhb7SyeG9aalFoaXlLd28/edit?usp=drivesdk&#39; 是我要查找的值,我想要做的就是将此值保存到单独的文本文件中,以便我可以将其用于某些内容其他。是否可以暂停此错误并保存该值。或者我想将其设置为返回值,因为此脚本将在脚本中运行。
答案 0 :(得分:2)
错误表示您的re.search
已退回None
。您试图在match.group()
上致电None
,这会导致错误。
要解决此问题,请尝试:
for line in your_file:
match = re.search("(?P<url>https?://[^\s]+)", line)
if match is not None:
return match.group()
现在它将返回该行..
或者,如果您想将其存储在变量中,您可以使用match
对象并在找到后将其打印出来。
for line in your_file:
match = re.search("(?P<url>https?://[^\s]+)", line)
if match is not None:
break
print match.group()