Skip to main content
 首页 » 编程设计

python之获取文本 Python 之间的字符串

2025年05月04日20sxdcgaq8080

如果我有:

127.0.0.1 - - [24/Feb/2014:03:36:46 +0100] "POST /info HTTP/1.1" 302 0 "http://website.com" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "name=josh&zipcode=12345" 

我怎样才能将“josh”和“12345”提取到它们自己的变量中?

请您参考如下方法:

用空格分割字符串,取最后一个元素,去除引号并使用 urlparse.parse_qsl()解析查询参数:

>>> from urlparse import parse_qsl 
>>> s = '127.0.0.1 - - [24/Feb/2014:03:36:46 +0100] "POST /info HTTP/1.1" 302 0 "http://website.com" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36" "name=josh&zipcode=12345"' 
>>> params = parse_qsl(s.split()[-1].strip('"')) 
>>> params 
[('name', 'josh'), ('zipcode', '12345')] 

然后,要将变量分配给参数值,您可以解压缩params:

>>> name, zipcode = zip(*params)[1] 
>>> name 
'josh' 
>>> zipcode 
'12345'