尝试使用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
当{8>单独地,或者当这个字段
但是如果我尝试line.split()[0,5,8]
我会得到一个错误
如果我改为尝试line.split()[[0,5,8]]
我得到一个错误,它说
TypeError: list indices must be integers, not list
那么,有没有办法只使用一个字段来提取这3个字段线.分割? 在
是的,您必须存储
line.split()
返回的列表,然后获取索引:或者,如果您想要一行代码,可以使用^{} 和列表理解:
^{pr2}$您可以使用
itemgetter
。在你可以试试这个:
结果是:
^{pr2}$相关问题 更多 >
编程相关推荐