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

Python实现每行末尾添加换行符问题求助

问题分析与解决方案

你的代码核心问题

  1. 多余的self参数:你定义的是普通函数,不是类方法,不需要self参数,这会导致函数无法正常调用。
  2. 无效的文件路径:DNS+'DNS_Entries_Copy.txt'会生成类似DNS_Entries.csvDNS_Entries_Copy.txt的错误文件名,根本没正确写入目标文件。
  3. 文件对象误用:第二段代码循环里用f.write(line+'\n'),但f是已关闭的输入文件对象,且应该用output.write操作输出文件。
  4. 换行符处理混乱:readlines()读取的行大多自带换行符,直接加\n会导致只有第一行(可能无原有换行)出现预期效果,其他行因原有换行+新增换行,看起来和没加一样。

修复后的代码

source = 'DNS_Entries.csv'
target = 'DNS_Entries_Copy.txt'

def process_dns_entries(input_file, output_file):
    # 读取原文件,处理每一行:先去掉原有换行,再添加两个换行(内容+空行)
    with open(input_file, 'r') as in_f:
        processed_lines = [line.rstrip('\n') + '\n\n' for line in in_f]
    
    # 将处理后的内容写入目标文件
    with open(output_file, 'w') as out_f:
        out_f.writelines(processed_lines)

# 执行处理函数
process_dns_entries(source, target)

代码说明

  • rstrip('\n'):仅去掉每行末尾的换行符,保留行内空白字符,避免破坏原有内容格式。
  • +\n\n:给每行内容添加两个换行符,实现“每行后加一个空行”的效果。
  • 直接读取原文件处理后写入目标文件,无需先用shutil.copy复制,减少冗余操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:40:51