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

Python读取文件构造字典时name与subnet字段赋值问题求解

Python字典读取文件行赋值修复方案

原代码存在的核心问题

  • 字典语法错误:Python字典的键和值之间必须用冒号:分隔,原代码中混用了等号=赋值,会直接触发语法报错
  • 文件行处理逻辑缺失:逐行读取的文件内容默认携带末尾换行符,且没有按空格拆分每行的两个独立字段,无法分别给name、subnet赋值
  • 变量引用错误:'+value_string+'是固定字面量字符串,不会读取value_string变量的实际内容
  • 依赖缺失:使用pprint方法前没有导入对应的模块

正确实现代码

from pprint import pprint

# 提取固定不变的键值对,避免重复定义
fixed_config = {'id': 3, 'env': "PROD"}

with open("file1.txt", "r", encoding="utf-8") as f:
    for line in f:
        # 清除每行首尾的换行、空格,跳过空行
        stripped_line = line.strip()
        if not stripped_line:
            continue
        # 按任意空白字符拆分,自动适配单空格、多空格分隔的场景
        name, subnet = stripped_line.split()
        # 合并固定配置和动态读取的字段
        data = {
            **fixed_config,
            "name": name,
            "subnet": subnet
        }
        pprint(data)

特殊需求适配

如果要求name、subnet的取值本身要包含双引号字符(即值格式为"1.1.1.1"而非1.1.1.1),只需要调整赋值逻辑,给读取到的值外层拼接双引号即可:

data = {
    **fixed_config,
    "name": f'"{name}"',
    "subnet": f'"{subnet}"'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:24:24