【发布时间】:2014-07-23 02:47:05
【问题描述】:
假设您有一个非常大的文件,并且通过所有行或减慢速度会很昂贵。
你会如何随机选择一行(最好是从命令行或 python)?
【问题讨论】:
-
在不提前知道文件中有多少行以及每行从哪里开始的情况下,不可能从文件中随机选择一行。否则,您必须阅读整个文件。请参阅stackoverflow.com/questions/232237/… 获取灵感。
-
您可以使用 wc 和 sed .. 看看 jim 的回答
-
整个文件的行长是否被限制为常数?
-
@moooeeeep,如果是这样,我们的想法是将文件大小与平均记录长度相除,以估计文件中的行数?
-
也看看这个问题,了解一些不诉诸于处理整个文件至少一次的建议:stackoverflow.com/q/13478232/1025391
标签: python linux file random io