我正在使用Python BaseHTTPRequestHandler
.当我实现do_GET方法时,我发现自己手工解析self.path
self.path
看起来像:
/?parameter=value&other=some
Run Code Online (Sandbox Code Playgroud)
我应该如何解析它以获得类似的词典
{'parameter': 'value', 'other':'some'}
Run Code Online (Sandbox Code Playgroud)
谢谢,
Dec*_*der 30
考虑到self.path可能是分层的,你应该做如下的事情:
import urlparse
o = urlparse.urlparse(self.path)
urlparse.parse_qs(o.query)
Run Code Online (Sandbox Code Playgroud)
And*_*Dog 22
使用parse_qs
从urlparse
模块,但一定要去掉"/?":
from urlparse import parse_qs
s = "/?parameter=value&other=some"
print parse_qs(s[2:]) # prints {'other': ['some'], 'parameter': ['value']}
Run Code Online (Sandbox Code Playgroud)
请注意,每个参数可以有多个值,因此返回的dict将每个参数名称映射到值列表.
Max*_*ers 12
如果有人需要它为Python3:
import urllib.parse
s = "/?parameter=value&other=some"
print(urllib.parse.parse_qs(s[2:]))
>>> {'other': ['some'], 'parameter': ['value']}
Run Code Online (Sandbox Code Playgroud)
urlparse
urllib.parse
在Python3 中重命名为.
归档时间: |
|
查看次数: |
17185 次 |
最近记录: |