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

Python实现文件内容转小写代码无效,请求问题排查

解决文件内容转小写的Python代码问题

嘿,我帮你瞅了瞅你写的代码,问题主要出在这几个地方:

  • 你在函数里直接给参数input_file重新赋值成了'aba.tok',这会把调用函数时传入的参数给覆盖掉,相当于这个参数白定义啦
  • 你只是把每行转成了小写,但完全没把修改后的内容写回文件——修改后的line只在内存里晃了一圈,根本没存到磁盘上,所以你看不到变化
  • 虽然手动关闭文件的逻辑没报错,但用with语句管理文件会更稳妥,它能自动帮你关闭文件,还能避免异常情况下文件没关闭的问题

给你改了两个版本的代码,根据你的需求选就行:

版本1:直接覆盖原文件

这个版本会把原文件的内容替换成小写后的内容,适合确定不需要保留原文件的情况:

def preprocessing(input_file):
    # 一次性读取文件所有内容
    with open(input_file, 'r') as f:
        content = f.read()
    
    # 将小写后的内容写回原文件
    with open(input_file, 'w') as f:
        f.write(content.lower())

# 调用函数,传入你的目标文件名
preprocessing('aba.tok')

版本2:写入新文件(更安全)

如果想保留原文件,就用这个版本,把小写后的内容写到新文件里:

def preprocessing(input_file, output_file):
    # 同时打开原文件和新文件,逐行处理写入
    with open(input_file, 'r') as f_in, open(output_file, 'w') as f_out:
        for line in f_in:
            # 转小写后写入,注意保留原有的换行符
            f_out.write(line.lower())

# 调用函数,传入原文件名和新文件名
preprocessing('aba.tok', 'aba_lower.tok')

这样修改后,就能实现把文件内容全部转成小写的需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:14:01