On 2016-01-12 13:46, Peter Otten wrote: > Tim Chase wrote: > > >>> u = urlparse.urlsplit(URL) > > >>> lst = list(u) # can't manipulate the tuple directly > > >>> lst[3] = "bar=baz" # 3 = query-string index > > >>> urlparse.urlunsplit(lst) > > 'http://foo/path1/path2/?bar=baz' > > > > It takes knowing that "3" is the magic index (documented, but not > > given some named-constant in urlparse) for the query-string. Is > > there some better, clearer, or more Pythonic way to do this? > > To allow more fieldnames namedtuples use method names starting with > an underscore. You can safely use them, they are not private. So: > > >>> pr = urlparse.urlparse("http://foo/path1/path2/?fragment=foo") > >>> urlparse.urlunparse(pr._replace(query="bar=baz")) > 'http://foo/path1/path2/?bar=baz'
Much nicer. Thanks! Off to improve my code. -tkc -- https://mail.python.org/mailman/listinfo/python-list