Sim*_*onJ 16
你的要求有点模糊,所以这里有另一种略有不同的方法(如果没有别的话可以获得灵感):
from random import random
lines = [line for line in open("/some/file") if random() >= .5]
Run Code Online (Sandbox Code Playgroud)
与其他解决方案相比,线的数量变化较小(分布在总线数的一半左右),但每条线的概率为50%,并且只需要通过文件一次.
Dav*_*ebb 15
要从文件中随机获取多行,您可以执行以下操作:
import random
with open('file.txt') as f:
lines = random.sample(f.readlines(),5)
Run Code Online (Sandbox Code Playgroud)
上面的示例返回5行,但您可以轻松地将其更改为您需要的数字.randint()除了大量随机行之外,您还可以将其更改为获得随机数行,但您必须确保样本大小不大于文件中的行数.根据您的输入,这可能是微不足道的或稍微复杂一点.
请注意,这些行可能会以lines不同的顺序显示在文件中.
| 归档时间: |
|
| 查看次数: |
8687 次 |
| 最近记录: |