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

Python如何实现获取txt文件整个文本中的最长单词

问题根因

原代码逐行迭代文件对象,每次仅针对当前行拆分出的单词计算最长值,因此只能逐行输出每行的最长单词,无法完成全文档范围的最长单词统计。

修正代码

常规小文件场景(推荐写法)

使用上下文管理器自动管理文件资源,一次性读取全量文本后统一拆分计算,代码最简洁:

with open("article.txt", encoding="utf-8") as article:
    full_text = article.read()
print(max(full_text.split(), key=len))
  • 写法优势:不需要手动调用close()关闭文件,即使程序运行中抛出异常也能正常释放文件资源
  • 适配逻辑:split()不传参时,会自动将换行符、空格、制表符等所有空白字符作为分隔符切割文本,同时自动过滤连续空白、首尾空白产生的空字符串,天然适配带换行的文本结构

超大文件场景(低内存占用)

如果待处理文件体积达到GB级,一次性读取全量文本会占用过高内存,可以逐行遍历的同时动态更新全局最长单词,内存占用恒定极低:

longest = ""
with open("article.txt", encoding="utf-8") as article:
    for line in article:
        current_line_max = max(line.split(), key=len, default="")
        if len(current_line_max) > len(longest):
            longest = current_line_max
print(longest)
  • 细节处理:给max()传入default=""参数,避免遇到空行时split()返回空列表触发运行错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:24:24