-5

単にソース

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

問題はありませんが、エラーが発生します。なぜエラーが発生するのですか?

4

2 に答える 2

8
import os
os.path.normpath(pages)

パスを正規化し、次を返します。

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

車輪の再発明をする必要はありません。

于 2012-06-06T08:57:24.220 に答える
1

インデックスが最終的に範囲外になるため、エラーが発生します。

インデックス1から文字列の終わりまで繰り返します。

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

しかし、それを超えてインデックスを作成します。

self.pages[j+1]

self.pages[j+2]
于 2012-06-06T09:01:40.587 に答える