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

Python:如何删除.ADC文件末尾空换行行?已尝试方法未成功

解决.ADC文件末尾空行删除问题

我来帮你排查问题并修正代码!你的代码里有几个关键问题导致没成功:

  • 文件打开方式错误:你同时以默认读模式打开了同一个文件两次,不仅读模式的文件对象没有写入权限,要是第二个文件用写模式打开还会直接清空原文件,导致还没读取内容就丢失数据。
  • 处理逻辑不准确:你只是去掉了最后一行的换行符,但如果最后一行本身就是空的(仅包含换行符),你需要的是删除这一行,而非修改它。

下面是修正后的代码,我会逐行解释:

import os

directory = "你的目标目录路径"  # 替换成你的实际目录路径

for filename in os.listdir(directory):
    if filename.endswith(".ADC"):
        file_path = os.path.join(directory, filename)
        # 先读取文件所有内容,保留每行原有格式
        with open(file_path, 'r', encoding='utf-8') as infile:
            lines = infile.readlines()
        
        # 检查文件是否有内容,且最后一行是否为空行
        if lines:
            # 通过strip()判断最后一行是否仅含空白/换行符
            if not lines[-1].strip():
                # 删除最后一行空行
                lines = lines[:-1]
            
            # 将处理后的内容写回原文件
            with open(file_path, 'w', encoding='utf-8') as outfile:
                outfile.writelines(lines)

代码关键点说明:

  • 分阶段读写文件:先把所有内容读入内存处理,再打开文件写入,避免同时读写的冲突。
  • 精准判断空行:用strip()可以兼容不同换行符(\n或\r\n),准确识别全空白的空行。
  • 指定编码:加上encoding='utf-8'避免跨系统的编码问题,如果你的.ADC文件是其他编码(比如GBK),替换成对应编码即可。

如果担心误操作,可以在删除空行后加一行打印日志,方便追踪处理情况:

print(f"已处理文件: {filename} - 移除了末尾空行")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:17:41