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

如何使用Python替换指定字符(等号)后的字符串内容

实现逻辑
  • 先定义键值替换映射表:只需要指定需要修改的键名和对应的目标新值,不需要匹配原有值
  • 用正则表达式匹配含等号的行,捕获「等号及之前的所有内容(保留原有缩进、空格、键名格式)」,直接替换等号后的全部内容
  • 无等号的行(比如开头的配置块声明、结尾的大括号行)直接原样保留,不会破坏原有文件结构
代码实现
import re

# 自定义替换规则:键是等号前的参数名,值是要替换的目标内容
replace_map = {
    "Serial": "22330011",
    "IP": "1.1.1.1",
    "User": "User_11"
}

# 替换为你的实际文件路径
file_path = "test.conf"

# 读取并处理文件内容
with open(file_path, 'r', encoding='utf-8') as f:
    lines = f.readlines()

new_lines = []
for line in lines:
    # 正则匹配:捕获等号前的所有内容(含缩进、键名、等号前后的空格、等号)
    match_res = re.match(r'^(\s*(\w+)\s*=).*$', line)
    if match_res and match_res.group(2) in replace_map:
        # 保留原有前缀格式,替换等号后的内容
        new_line = f"{match_res.group(1)} {replace_map[match_res.group(2)]}\n"
        new_lines.append(new_line)
    else:
        # 不匹配的行原样保留
        new_lines.append(line)

# 写回文件
with open(file_path, 'w', encoding='utf-8') as f:
    f.writelines(new_lines)
补充说明
  • 如果要修改其他参数,直接在replace_map里加对应键值对即可,不需要调整其他逻辑
  • 正则自动保留原有行的缩进、键和等号之间的空格,修改后不会破坏原文件的排版格式
  • 自动跳过没有等号、或者不在替换映射表里的行,不会误改其他配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:15:06