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

如何检查文本文件每行末尾字符并避免重复添加指定字符

解决重复添加指定字符的问题

直接用整合后的代码就能实现需求,既给每行IP末尾加逗号,又能避免重复添加:

file = 'test.txt'
char = ','

new_content = ""
with open(file, 'r') as f:
    for line in f:
        stripped_line = line.strip()
        # 处理空行,直接保留换行(不需要可删除此段)
        if not stripped_line:
            new_content += '\n'
            continue
        # 判断行末是否已存在目标字符
        if stripped_line[-1] == char:
            new_content += stripped_line + '\n'
        else:
            new_content += stripped_line + char + '\n'

# 写入更新后的内容
with open(file, 'w') as f:
    f.write(new_content)

逻辑说明

把你原来的两段代码逻辑合并到遍历循环里即可,核心步骤:

  • 用strip()去掉每行首尾的空白(包括换行、空格),避免干扰行末字符的判断;
  • 先处理空行:如果strip后是空字符串,直接保留换行(按需调整);
  • 检查处理后的行的最后一个字符是否等于目标字符char:
    • 若已存在,直接保留该行并加换行;
    • 若不存在,添加目标字符后再加换行;
  • 用with语句自动管理文件,无需手动调用close(),更安全。

对原有代码的优化点

  • 去掉了冗余的手动文件关闭操作,with上下文会自动处理;
  • 变量名更清晰,提升代码可读性;
  • 增加了空行处理逻辑,避免空行被错误添加字符;
  • 彻底解决了多次运行脚本时,每行末尾重复出现多个逗号的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:30:58