You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用字典实现以日期为键的内容导出与搜索功能求助

解决思路

你当前代码的核心问题是把#分隔符前的IP地址作为了字典键,只需调整拆分逻辑,提取#后第一个逗号前的日期作为键即可,修改后的代码如下:

webdata = open("full_blacklist_database.txt", encoding="utf-8")
mydict = {}

for line in webdata:
    # 跳过注释行和空行
    if line.startswith("#") or line.strip() == "":
        continue
    # 只拆分第一个#,避免属性内容中存在#导致拆分出错
    ip_part, attr_part = line.split("#", 1)
    # 清理IP部分的空白字符
    ip = ip_part.strip()
    # 处理属性部分:去除首尾空白后按逗号拆分,同时清理每个属性的前后空白
    attr_list = [item.strip() for item in attr_part.strip().split(",")]
    # 取第一个属性即日期作为字典键
    date_key = attr_list[0]
    # 对应值可按需组合,此处将IP和剩余属性组合为结果列表
    value = [ip] + attr_list[1:]
    # 同一天存在多条记录的场景下,用列表存储所有结果避免覆盖
    if date_key not in mydict:
        mydict[date_key] = []
    mydict[date_key].append(value)

print(mydict)
searchModule(mydict)
  • 如果你的数据中一天只有一条记录,可以删除列表追加的逻辑,直接赋值mydict[date_key] = value即可。
  • 调用searchModule时,输入YYYY-MM-DD格式的日期即可查询到对应关联信息。

内容的提问来源于stack exchange,提问作者meLearner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 19:21:03