Skip to main content
 首页 » 编程设计

Python之打开 TXT、随机化、另存为新文件

2025年05月04日18xxx_UU

我在 python 中随机化已经有一段时间了,但由于某种原因我被困在这里。也许只是晚上太晚了...

无论如何,我正在 Python 中寻找一种快速简单的方法;

  • 打开 TXT 文件
  • 随机排列
  • 另存为新的 TXT 文件

我觉得有点傻... 任何帮助表示赞赏!谢谢!

请您参考如下方法:

使用random.shuffle随机化一个序列:

import random 
 
with open('filename', 'rb') as infile: 
    lines = infile.readlines() 
 
random.shuffle(lines) 
 
with open('newfilename', 'wb') as outfile: 
    outfile.writelines(lines) 

编辑: 另一个答案中建议的洗牌方法是错误的。请参阅其中的评论和链接。这是一个更正确的洗牌示例:

end = len(lines) - 1 
for i in range(end + 1): 
    choice = random.randint(i, end) 
    lines[i], lines[choice] = lines[choice], lines[i] 

洗牌后,假设 randint 是完全随机的,一行的位置与其洗牌前的位置完全不相关。在另一个答案中使用朴素算法,情况并非如此。两次洗牌都采用相同数量的操作。