Python 2.7。
我确定这是一个愚蠢的问题,但我真的很困惑我从urlsplit获得的类型/属性错误。
我正在尝试遍历一个unicode网址列表',拆分并重建它们以删除部分网址。
new_list = []
for line in list_of_links:
urlsplit(line)
new_list.append(line.scheme + '://' + line.netloc + line.path)
返回AttributeError: 'unicode' object has no attribute 'scheme'
将每行编码为utf-8不起作用。 str(line).scheme返回'str' object has no attribute 'scheme'
我错过了什么?
答案 0 :(得分:3)
line
仍然是str,字符串没有这些方法。 urlparse()
和urlsplit()
分别返回ParseResult
和SplitResult
个名为tuple的对象。请参阅文档here。只有这些属性具有scheme
和netloc
属性。要正确使用它们,请将结果存储在变量中,如下所示:
new_list = []
for line in list_of_links:
urlsplit_result = urlsplit(line)
new_list.append(urlsplit_result.scheme + '://' + urlsplit_result.netloc + urlsplit_result.path)