http://eagletff.blog.163.com/blog/static/116350928201266111125832/
一般情况下,如果要对一个列表或者数组既要遍历索引又要遍历元素时,可以用enumerate
比如:
for index,value in enumerate(list):
     print index,value
当然也可以
for i in range(0,len(list)):
     print i,list[i]
相比较而言,前者更简练
另外一种使用情况,当要计算文件的行数的时候,可以这样写:
lineNum = len(open(fileName,'r').readlines())
不过如果文件巨大,这种方式可能会造成严重问题,比如机器挂掉
这个时候可以使用enumerate,python cookbook里举出了这样的例子
lineNum = -1
for count,line in enumerate(open(fileName,'r')):
     print count
     lineNum+=1
print lineNum
试过用上面的脚本来统计一个1GB大小的log文件(最后统计出来大约有18000000行),运行脚本的时候,CPU占用率比较高(看来是做计算的比较多),但是脚本用到的内存不多,显示的python占用内存为5M多
不过如果用readlines的方法,内存飙到了200M
将文本文件的全部内容按照分行,作为一个列表读出的5种方法 
list_of_all_the_lines = file_object.readlines(  )          
list_of_all_the_lines = file_object.read(  ).splitlines(1)  
list_of_all_the_lines = file_object.read().splitlines(  ) 
list_of_all_the_lines = file_object.read(  ).split('\n') 
list_of_all_the_lines = list(file_object)

最新文章

  1. ffmpeg-20160901-bin.7z
  2. js⑧
  3. Javascript 面向对象编程初探(一)--- 封装
  4. javascript-单例模式
  5. phalcon: 过滤(Phalcon\Filter())
  6. String(byte[] bytes, String charsetName)
  7. Action<>和Func<>区别
  8. 从汇编看c++的虚拟继承以及其内存布局(一)
  9. oracle后台进程2
  10. ASP.NET From表单转实体类
  11. 编程从入门到提高,然后放弃再跑路(Java)
  12. Heroku 如何上重置 PostgreSQL 数据库
  13. Spring Aop——给Advice传递参数
  14. php中的this,self,parent
  15. php中in_array一些问题
  16. HDOJ2870 Largest Submatrix
  17. Java 容器 LinkedHashMap源码分析2
  18. 【日常训练】Hockey(CodeForces-96C)
  19. virtualBox linux centos 挂载u盘 解决乱码
  20. Android 当修改一些代码时,使用什么编译命令可以最有效率

热门文章

  1. Python使用Zero-Copy和Buffer Protocol实现高性能编程
  2. kali源
  3. mangodb与mysql的区别及部署
  4. AD按键-矩阵按键-独立按键:
  5. UiAutomator快速调试
  6. Spark编程模型(中)
  7. 《nginx 一》dns解析 nginx安装
  8. iOS开发ReactiveCocoa学习笔记(一)
  9. Apache activiti5.13工作流框架的表结构详解
  10. echarts使用中的那些事儿(一)