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

标签 python string variables python-2.7

如果我有:

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'

关于python - 获取文本 Python 之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549744/

相关文章:

html - 在vuejs中将字符串转换为Dom

python - 从反斜杠到斜杠(创建以数字命名的文件夹)

swift - 简而言之,括号中的 set 是什么意思?

python - 步长的原因是什么?

python - 带有附加参数(如果可能)或上下文处理器的通用 View 可将额外信息传递给模板?

java - Android 中的字符串下标和上标

variables - 如何批量更改循环内的变量值

function - Lua 如何创建可用于变量的自定义函数?

python - 如何将用户的号码添加到列表中

python - 如何在全连接层之后应用组归一化?