Python 2.7。
我确信这是一个愚蠢的问题,但我对从urlsplit获得的类型/属性错误感到非常困惑。
我试图遍历unicode url的列表,分割和重建它们以删除部分url。
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不起作用。.scheme返回'str' object has no attribute 'scheme'
我遗漏了什么?
发布于 2014-11-19 11:50:01
line
仍然是str,字符串没有这些方法。urlparse()
和urlsplit()
分别返回名为tuple对象的ParseResult
和SplitResult
。见docs 这里。只有这些属性具有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)
https://stackoverflow.com/questions/27025598
复制