擅长:python、mysql、java
<p>您可以尝试以下方法:</p>
<pre><code>>>> import urllib
>>> 'http://' + '/'.join([urllib.quote(x) for x in url.strip('http://').split('/')]
'http://us.battle.net/wow/en/character/garrosh/therm%C3%ADte/advanced'
</code></pre>
<p><a href="https://docs.python.org/2/library/urllib.html#urllib.quote" rel="nofollow">urllib.quote()</a>“安全”URL对字符串的字符进行编码。您不希望所有字符都受到影响,只希望“/”字符之间的所有字符都受到影响,不包括初始的“http://”。所以strip和split函数把它们从方程中去掉,然后用<code>+</code>操作符和<code>join</code>把它们连接起来</p>
<p><strong>编辑:这是我的责任,因为我没有阅读文档。。。更干净:</strong></p>
<pre><code>>>> url = 'http://us.battle.net/wow/en/character/garrosh/therm%C3%ADte/advanced'
>>> urllib.quote(url, safe=':/')
'http://us.battle.net/wow/en/character/garrosh/therm%25C3%25ADte/advanced'
</code></pre>