为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中廉价地获取行计数?

如何在Python中廉价地获取行计数?

米琪卡哇伊 2019-06-10 16:58:42
如何在Python中廉价地获取行计数?我需要获得python中大型文件(数十万行)的行数。什么是记忆和时间上最有效的方式?我现在做的是:def file_len(fname):     with open(fname) as f:         for i, l in enumerate(f):             pass     return i + 1有可能做得更好吗?
查看完整描述

5 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

再好不过了。

毕竟,任何解决方案都必须读取整个文件,计算出多少\n你有,并返回结果。

你有一个更好的方法来做到这一点,而不阅读整个文件?不确定.。最好的解决方案总是I/O绑定,最好的方法是确保不使用不必要的内存,但看起来您已经解决了这一问题。


查看完整回答
反对 回复 2019-06-10
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

有一行,可能很快:

num_lines = sum(1 for line in open('myfile.txt'))


查看完整回答
反对 回复 2019-06-10
  • 5 回答
  • 0 关注
  • 522 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信