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

Python读取文本文件修改行内容写入新文件修改不生效问题排查

错误原因

Python中的字符串属于不可变类型,你用for line in filedata遍历列表时,拿到的line是对应列表元素的临时拷贝,对line变量的重新赋值只会修改这个临时变量本身,不会同步更新filedata列表里的原始内容,所以最终写入文件的还是未修改的原始数据。

修复方案

你可以通过索引遍历的方式直接修改filedata列表对应位置的元素,修复后的代码示例如下:

with open(oldfile, 'r') as file :
    filedata = file.readlines()

for index in range(len(filedata)):
    current_line = filedata[index]
    if "keyword" in current_line:
        value = current_line.strip().split(' | ')[-1]
        if value != '0x00':
            # 直接修改列表对应索引位置的内容
            filedata[index] = current_line.replace(value, '0x00')

with open(newfile, 'w') as file:
    file.writelines(filedata)

你也可以选择新建一个空列表,逐行把处理后的内容追加到新列表中,最后把新列表写入文件,逻辑和上述方案完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:36:00