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

Python脚本打乱逐行文本文件时丢失换行符的解决方法咨询

解决逐行文本文件的打乱问题

Python脚本修改方案

你的原脚本是把所有单词拆分后打乱,所以会丢失换行结构。要保留每行内容并打乱行的顺序,调整读取和处理逻辑即可:

import random

# 按行读取文件,保留每行的原始格式(包括换行符)
with open('myfile.txt', 'r') as file:
    lines = file.readlines()

# 对行列表执行打乱操作
random.shuffle(lines)

# 拼接打乱后的行并输出
shuffled_content = ''.join(lines)
print(shuffled_content)

# 若需要写入新文件,添加以下代码:
# with open('shuffled_myfile.txt', 'w') as out_file:
#     out_file.write(shuffled_content)

核心调整说明:

  • 用readlines()替代原有的read()+split(),直接获取包含每行内容的列表,每行自带换行符(最后一行可能例外)
  • 直接对行列表执行random.shuffle(),打乱的是行的顺序而非单个单词
  • 用''.join()拼接行内容,保留原有的换行格式

命令行快速方案

如果不想修改Python脚本,用专门的命令行工具更高效:

  • Linux/Unix系统下,使用shuf命令直接打乱行:
# 直接输出打乱后的内容
shuf myfile.txt

# 将结果写入新文件
shuf myfile.txt -o shuffled_file.txt
  • Windows系统下,用PowerShell命令实现:
Get-Content myfile.txt | Get-Random -Count (Get-Content myfile.txt | Measure-Object -Line).Lines | Set-Content shuffled_file.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:10:32