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

Python中如何根据用户名从文本文件生成的嵌套字典中提取指定字典

代码修改方案

你只需要在循环中增加用户名匹配判断即可,以下是修改后的可运行代码:

keys = ["Full Name", "Date of Birth", "Phone Number",
        "Identification Card (IC) Number", "Emergency Contact Number",
        "Credit /Debit Card Details "]
username = "jiken"

with open("something.txt", 'r') as f:
    for line in f:
        key, values = line.strip().split(" = ")
        # 匹配到目标用户名再进行后续处理
        if key == username:
            values = values.split('|')
            data2 = {key: dict(zip(keys, values[1:]))}
            print(data2)
            # 匹配到后可以直接终止循环,不需要再读取后面的行,提升运行效率
            break

如果后续需要频繁查询不同用户的信息,也可以先把所有用户数据存入总字典再按需取值,参考实现如下:

keys = ["Full Name", "Date of Birth", "Phone Number",
        "Identification Card (IC) Number", "Emergency Contact Number",
        "Credit /Debit Card Details "]
username = "jiken"
user_data = {}

# 先把所有用户数据读取存入总字典
with open("something.txt", 'r') as f:
    for line in f:
        key, values = line.strip().split(" = ")
        values = values.split('|')
        user_data[key] = dict(zip(keys, values[1:]))

# 按需查询目标用户
print({username: user_data[username]})

两种写法都可以实现你需要的输出效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:09:02