在Python 2中有没有一种更干净的方法来修改URL的某些部分?
例如
http://foo/bar -> http://foo/yah
目前,我正在做的是:
import urlparse
url = 'http://foo/bar'
# Modify path component of URL from 'bar' to 'yah'
# Use nasty convert-to-list hack due to urlparse.ParseResult being immutable
parts = list(urlparse.urlparse(url))
parts[2] = 'yah'
url = urlparse.urlunparse(parts)
有更干净的解决方案吗?
我想正确的方法是这样做。
由于使用
_replace
私有方法或变量,因此不建议使用。不幸的是,文档已经过时;由}-produced class 作为基础。
urlparse.urlparse()
(和urlparse.urlsplit()
)生成的结果使用^{不要将此namedtuple转换为列表,而是使用仅为此任务提供的实用程序方法:
使用^{} method 可以创建替换了特定元素的新副本。然后^{} method 将这些部分重新连接到一个url中。
演示:
mgilson提交了一个bug report (with patch)来解决文档问题。
相关问题 更多 >
编程相关推荐