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

如何优化文件读取与清洗?Python无库实现预期输出求助

优化文件字符串清洗的Python代码

问题场景

文件内容如下:

one     two

    three

         four

原代码存在的问题:

  • 缩进错误,new_txt = []未正确缩进在with代码块内
  • 错误复用变量fname,且readline()仅读取第一行后,后续readlines()读取剩余行,导致第一行处理逻辑混乱
  • 使用[line.split() for line in f.readlines()]生成嵌套列表,空行分割后得到空列表,最终输出为嵌套结构

优化方案1:一次性读取并分割(适合小文件)

直接读取整个文件内容,利用split()默认分割任意空白字符(空格、制表符、换行符均包含),得到扁平列表:

def txt_cleaning(fname):
    with open(fname) as f:
        content = f.read()
        return content.split()

优化方案2:逐行处理(适合大文件,避免内存占用过高)

逐行读取文件,用extend()将每行分割后的元素直接加入结果列表,跳过空行的空列表:

def txt_cleaning(fname):
    new_txt = []
    with open(fname) as f:
        for line in f:
            new_txt.extend(line.split())
    return new_txt

两种方案均无需导入任何库,最终输出均为:

['one', 'two', 'three', 'four']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:40:36