python - 在具有相同ip的python中合并和排序日志文件
问题描述
我有一些需要基于相似 IP 地址合并的日志文件。合并后的文件内容需要根据时间戳进行排序。
日志文件 1:调用:10.247.11.3_Something_Something
10/15/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
10/28/2021 10:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
日志文件 2:调用:10.247.11.3_Somethingelse_Somethingelse(与 1 相同的 ip)
10/16/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
10/28/2021 11:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
我到目前为止的代码
import os
def getip(filename: str):
fname = filename
return fname.split("_")[0]
data = data2 = ""
directory = os.listdir('/Users/immam.m/Desktop/logstest')
# If the sequence automatically is the same through auto sorting
for i in range(len(directory) - 1):
if getip(directory[i]) == getip(directory[i + 1]):
print(directory[i] + " " + "is equal to" + directory[i + 1])
print("Same")
with open(directory[i]) as fp:
data = fp.read()
with open(directory[i + 1]) as fp:
fp.read()
data += "\n"
data += data2
with open(directory[i], 'w') as fp:
fp.write(data)
else:
print(directory[i] + "NOT SAME WITH ANYTHING")
# https://stackoverflow.com/questions/13613336/how-do-i-concatenate-text-files-in-python
到目前为止,我刚刚设法在循环中获取基于相同 ip 的文件。但我被困在尝试根据时间戳合并和排序文件。非常感谢帮助
解决方案
推荐阅读
- java - 具有多个 In 条件的 Spring CrudRepository 查询
- php - 以编程方式添加广告单元时,Google DFP / Ad Manager 忽略“展示广告素材:只有一个”和每用户频率
- vba - VBA 自动更正以使用下标保留文本格式
- react-native - 块/模糊屏幕截图 IOS React-Native
- python - 如何使用 Python 重命名现有列表中的报废文件
- javascript - 使用 if 语句时,下拉菜单会更改其预选
- c# - .add 在当前上下文中不存在
- asp.net - 我在哪里可以获得用于在 Stripe 中创建客户的 SourceToken?
- java - 简化java中复杂的if语句
- java - 无法在 Redis 数据存储中存储数据 - Spring Boot