python - 如何按信息对日志文件进行排序?
问题描述
如何将项目插入到正确位置的数组中?我想按其信息对日志文件进行排序:
Line 1: 2019/06/28 Hello:world id:2346
Line 2: 2019/06/28 Hello:life id:3774
Line 3: 2019/06/25 Hello:world id:1643
^ ^ ^
Pos[0] Pos[1] Pos[2]
如何仅通过信息的位置对这些行进行排序?
解决方案
您可以使用自定义键功能以自定义方式对列表进行排序:
def keyfn(line):
date, hello, id_ = line.strip().split()
_, num = id_.split(":")
return int(num)
sorted_list = sorted(lines, key=keyfn)
这假设没有额外的空格,因此总是正好有 3 个字段。
推荐阅读
- java - 502 when running SQS test using localstack
- oauth-2.0 - 带有 Google 身份验证和 Postman 的 IdentityServer4
- c++ - What is the use of Substitution is not failure
- python - Getting the column name in a table with just a single value
- javascript - 使用 vue-infinite-loader 在 v-data-table 中渲染 50 行数据时内存膨胀
- c# - 最后带有`this()`的结构构造函数和没有的结构构造函数有什么区别?
- css - Media-Queries won't work on anything (Flex-Box)
- java - Unsatisfied dependency error in Spring project
- blockchain - 什么是证明证明 (PoP)?
- r - 多个ggplots的for循环中的Y轴标签显示第一个数据点而不是列名R