我正在编写一个经验和知识的搜索引擎。目前,我正在构建一个爬行器及其附带的实用程序。其中之一是URL规范化器。这就是我现在想要构建的内容,更具体地说,我被困在了一个地方,那就是我必须制作一个方法来获得一个url,并且使用一个'%'符号后的字母大写。我的代码到目前为止:为什么这段代码无限循环?
def escape_sequence_capitalization(url):
''' The method that capitalizes letters in escape sequences.
All letters within a percent - encoding triplet (e.g. '%2C') are case
insensitive and should be capitalized.
'''
next_encounter = None
url_list = []
while True:
next_encounter = url.find('%')
if next_encounter == -1:
break
for letter in url[:next_encounter]:
url_list.append(letter)
new_character = url[next_encounter + 1].upper()
url_list.append(new_character)
url = url[next_encounter:]
for letter in url:
url_list.append(letter)
return ''.join(url_list)
有人可以指导我,我的错误是哪里?我会很感激。谢谢。
编辑:这就是我想实现:
http://www.example.com/a%c2%b1b → http://www.example.com/a%C2%B1b
谢谢你,你的回答是最有见地的。我并不低估print()的价值,打印方法和函数是我在其他编程语言中使用的主要调试工具,它只是因为我缺乏经验而没有引起我的注意。谢谢。 – NlightNFotis 2012-07-14 18:24:05
@msw。很好的解释! – doniyor 2012-07-14 18:25:37