为什么会出现错误?

2024-05-14 17:35:46 发布

您现在位置:Python中文网/ 问答频道 /正文

简单来源

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()

没有问题,但发生了错误。 为什么会出现错误?你知道吗


Tags: andselfdef错误page来源pagesclass
2条回答

您将得到一个错误,因为您的索引最终将超出范围。你知道吗

从索引1迭代到字符串结尾:

for j in range(1, len(self.pages)):

但接下来我们将继续索引:

self.pages[j+1]

以及

self.pages[j+2]
import os
os.path.normpath(pages)

规范化您的路径并返回:

'/bbs/board.php?bo_table=humor&wr_id=195?los=09&qwe=2&'

你不必重新发明轮子。你知道吗

相关问题 更多 >

    热门问题