【发布时间】:2018-03-10 18:58:17
【问题描述】:
我想用 python 将一个文件随机分成两半。我有一个小脚本,但它并没有完全分成 2 个。有什么建议吗?
import random
fin = open("test.txt", 'rb')
f1out = open("test1.txt", 'wb')
f2out = open("test2.txt", 'wb')
for line in fin:
r = random.random()
if r < 0.5:
f1out.write(line)
else:
f2out.write(line)
fin.close()
f1out.close()
f2out.close()
【问题讨论】:
-
将所有行读入一个列表;洗牌;然后将列表的一半写入每个文件。
-
除非随机的两半需要保持顺序,这需要在洗牌后做一些额外的工作