采用此代码:

>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)

parts._replace works 但是由于它是一种强调的方法,因此应该是内部的,而不是使用。还有其他选择吗?我不想这样做:

>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]

因为这使其成为普通的元组,而不是名为的tuple,并且这样做:

>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)

有点愚蠢。 :)

想法?

有帮助吗?

解决方案

原因的原因 namedtuple 从初始下划线开始仅是为了防止名称碰撞。他们 不应仅将其视为内部用途:

为了防止与字段名称发生冲突,方法和属性名称以下划线开头。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top