简单来源
class page:
pages = "/.././ewcwe/../qds/./qwd/qwf/qwd/../../../sad/qwd/../sad/qwd/sad/.././../../../../bbs/./board.php?bo_table=humor&wr_id=195?los=09&qwe=2&"
def __init__(self):
self.normalize()
def normalize(self):
for j in range(1, len(self.pages)):
if self.pages[j-1] != "." and self.pages[j] == "." and self.pages[j+1] == "/":
self.pages = self.pages[:j] + self.pages[j+2:]
print self.pages
print self.pages
index = page()
没有问题但发生错误。 为什么会出现错误?
答案 0 :(得分:8)
import os
os.path.normpath(pages)
规范化你的路径并返回:
'/bbs/board.php?bo_table=humor&wr_id=195?los=09&qwe=2&'
你不必重新发明轮子。
答案 1 :(得分:1)
您将收到错误,因为您的索引最终会超出范围。
从索引1迭代到字符串结尾:
for j in range(1, len(self.pages)):
然后再继续索引:
self.pages[j+1]
和
self.pages[j+2]