2012-03-05 17 views
1

URLパターンに空白が含まれていると対象のディレクトリを読み取る方法 など。URLデータにPythonルーティングの問題があります

url= http://example.appspot.com/abc%20asd >>> abc asd 

私は現在Pythonでコーディングしていますが、私の正規表現には何か問題があります。前もって感謝します!

class MainMain(webapp.RequestHandler): 
    def get(self,args): 
     self.response.out.write('hello '+args) 
def main(): 
    application = webapp.WSGIApplication([('/', MainMain),('/(\w+)',MainMain)], debug=True) 
    util.run_wsgi_app(application) 

if __name__ == '__main__': 
    main() 

答えて

1

このようなパターンは、最初に選択されたプレフィックスマッチングで、しばしば評価されます。

は最後にあなたの最も一般的な正規表現を移動してみてください:

application = webapp.WSGIApplication([ 
    ('/(\w+)',MainMain)], 
    ('/', MainMain), 
    debug=True) 
+0

興味深いです。私はこの部分がその動作に責任があると思う:[python/lib/webapp2/webapp2.py](http://code.google.com/codesearch#Qx8E-7HUBTk/trunk/python/lib/webapp2/webapp2.py&q= WSGIApplication%20package:http://googleappengine%5C.googlecode%5C.com&l=1163) – nodakai

+0

こんにちは、私は私の質問の最も重要な部分を省いたことに気付きました!私は、私のURLがこのようなものであればどうすればいいのか質問したかった: 'http://example.appspot.com/asd asd'にスペースがあるか、%20で置き換えられ、印刷された値が "asd asd "ありがとう! – Junhao

+0

空白に '\ s'を追加する必要がありますので、' /([\ w \ s] + '。 – Amber

0
>>> url = 'http://example.appspot.com/abc%20asd' 
>>> import urllib 
>>> import urlparse 
>>> urllib.unquote_plus(urlparse.urlparse(url)[2][1:]) 
'abc asd' 
+0

hihiはこの質問を手伝ってくれてありがとうございます。ユーザーはURLに入力するだけで、スペースを含めて入力したものを印刷することができますか?ありがとう! – Junhao

+0

'url'をユーザー入力を保持する変数で置き換えてください。 –

関連する問題