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

如何用Python修改文本文件中指定键的对应值

解决Python修改文本文件指定键对应值的问题

问题分析

你当前的代码错误在于直接替换了键名Status,而非它对应的空值,而且循环读取时还误用了未定义的变量f。下面提供两种可靠的解决方法:


方法一:直接字符串替换(适合简单固定格式)

如果你的passenger.txt内容格式固定,仅需替换Status的空值,直接针对目标字符串片段替换即可:

passenger_db = "passenger.txt"

# 读取文件全部内容
with open(passenger_db, "r") as file:
    content = file.read()

# 精准替换Status对应的空值
updated_content = content.replace("'Status':''", "'Status':'Sometext'")

# 将修改后的内容写回文件
with open(passenger_db, "w") as file:
    file.write(updated_content)

方法二:解析为字典修改(更稳妥通用)

如果后续需要修改多个键,或文件格式可能有细微变动,建议把文本解析为Python字典操作,再写回文件:

import ast

passenger_db = "passenger.txt"

# 读取文件并解析为字典(用ast.literal_eval比eval更安全)
with open(passenger_db, "r") as file:
    content = file.read()
    passenger_dict = ast.literal_eval(content)

# 修改指定键的值
passenger_dict['Status'] = 'Sometext'

# 将字典转回字符串并写回文件
with open(passenger_db, "w") as file:
    file.write(str(passenger_dict))

原代码的问题说明

  1. 循环读取时使用了未定义的变量f,应该用打开的文件对象file;
  2. replace('Status', 'Sometext')会直接替换所有Status字符串,导致键名被修改,而非目标值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:10:24