gpt4 book ai didi

python - 从 line.split() 中提取多个不相邻的字段

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:58 25 4
gpt4 key购买 nike

尝试使用 Python 改进 Shoutcast 的日志解析器。

鉴于此日志条目行:

line = "207.86.121.131 207.86.121.131 2012-11-27 13:02:17 /stream?title=Joe%20Bonamassa%20%2D%20I%20Got%20All%20You%20Need 200 iTunes%2F10%2E7%20%28Windows%3B%20Microsoft%20Windows%207%20x64%20Home%20Premium%20Edition%20Service%20Pack%201%20%28Build%207601%29%29%20AppleWebKit%2F536%2E26%2E9 622592 27 184464"

我将如何提取字段 0、5、8

我的输出应该是 207.86.121.131 200 27

当我单独尝试 line.split()[0](或 5 或 8)时,我得到了那个字段,

但是如果我尝试 line.split()[0,5,8] 我会收到一条错误消息

TypeError: list indices must be integers, not tuple

如果我改为尝试 line.split()[[0,5,8]] 我会收到一条错误消息

TypeError: list indices must be integers, not list

那么,有没有办法只使用一个 line.split 来提取这 3 个字段?

最佳答案

您可以使用itemgetter

>>> from operator import itemgetter
>>> itemgetter(0,5,8)(line.split())
('207.86.121.131', '200', '27')

关于python - 从 line.split() 中提取多个不相邻的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com