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

如何使用Python截取多行文本文件中&开头字符串的前300字符

Python实现指定规则的文本截断处理

不需要安装第三方依赖,用Python原生文件操作和字符串切片就能实现需求,逐行处理的逻辑对大文件也很友好。

核心实现逻辑

  • 以只读模式打开原始文件,以写入模式打开待生成的新文件
  • 逐行遍历原始文件内容,避免一次性全量加载占用过多内存
  • 对每一行内容,截取前300个字符后写入新文件:Python的字符串切片是边界安全的,当行长度不足300时会自动返回整行内容,不会抛出索引错误

完整可运行代码

# 替换为你自己的文件实际路径
INPUT_PATH = "source.txt"
OUTPUT_PATH = "result.txt"

with open(INPUT_PATH, "r", encoding="utf-8") as f_in, \
     open(OUTPUT_PATH, "w", encoding="utf-8") as f_out:
    for line in f_in:
        # 先剥离行尾换行符,避免换行符被计入300个字符的配额
        content = line.rstrip("\n")
        # 截取前300个字符
        cut_content = content[:300]
        # 写入处理后的内容,补回换行符
        f_out.write(f"{cut_content}\n")

可按需修改的配置

  • 如果需要过滤非&开头的行,仅处理符合格式要求的内容,可以在切片前加入判断逻辑,不符合要求的行直接跳过:
if not content.startswith("&"):
    continue
  • 如果需要保留非&开头的行且不对这类行做截断,把上述判断分支里的continue替换为cut_content = content即可
  • 如果你的文件使用GBK等非UTF-8编码,修改open函数里的encoding参数为对应编码值即可

提示:上述代码的字符计数规则为Unicode字符计数,中文、英文、标点均记为1个字符;如果需要按字节长度截断,可以先对字符串做指定编码后再切片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:24:18