|
|
1
69
不是内置的,而是算法
这个
|
|
|
2
38
对于很长的文件: 根据文件的长度在文件中随机放置,并在位置后找到两个换行符(或换行符和文件结尾)。如果原始查找位置是<100(如果我们在最后一行中结束),请在文件开头之前或从文件开头执行100个字符。 然而,这是过于复杂,因为文件是迭代器。所以呢列一张单子随机选择(如果您需要很多,请使用随机抽样):
|
|
|
3
13
会成功的。 |
|
4
12
以下是使用此软件包获取随机行的简单解决方案:
第一次这样做是最糟糕的,因为linereader必须以特殊格式编译输出文件。完成后,linereader可以快速访问文件中的任何行,不管文件大小如何。
如果您的文件非常小(小到可以容纳一个MB),那么您可以替换
我真的很高兴,因为我看到有人可以从我的包裹中受益!很抱歉没有答案,但这个软件包肯定可以应用于许多其他问题。 |
|
5
4
如果不想读取整个文件,可以在文件中间查找,然后向后查找换行符,然后调用
这是一个Python3脚本,它就是这样做的, 这种方法的一个缺点是短线出现的可能性较低。
|
|
|
6
4
|
|
|
7
2
找一个随机的位置,读一行并丢弃它,然后读另一行。线路分布不正常,但这并不总是重要的。 |
|
|
8
1
如果不想将整个文件加载到RAM中
但是,如果您关心分发,则此代码不是您的选项。 |
|
|
9
0
您可以将这些行添加到set()中,这将随机更改它们的顺序。
要查找第一行:
要列出集合中的所有行:
|
|
|
10
0
它读取文件的每一行,并将其附加到列表中。然后从列表中随机选择一行。 如果你想删除线一旦被选中,只要做
希望这可能有帮助,但至少没有额外的模块和进口(除了随机)和相对轻量级。 |
|
|
11
0
|