小豆浆 从历史命令中提取最常用的10个命令 www.xdoujiang.com

  • A+
所属分类:python实战
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #--------------------------------------------------
  4. #Author:gongzheng
  5. #Email:85646830@163.com
  6. #FileName:5.py
  7. #Function: 
  8. #Version:1.0 
  9. #Created:2017-10-20
  10. #--------------------------------------------------
  11. import os
  12. from collections import Counter
  13. #Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,
  14. #以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似。
  15. c = Counter()
  16. #expanduser展示用户的home目录
  17. with open(os.path.expanduser('~/.bash_history')) as f:
  18.     for line in f:
  19.     #去除空格等分割 把单独的命令取出来
  20.         cmd = line.strip().split()
  21.         if cmd:
  22.             c[cmd[0]]+=1
  23. #most_common([n])
  24. #返回一个TopN列表。如果n没有被指定,则返回所有元素。当多个元素计数值相同时,排列是无确定顺序的。
  25. #这里返回10个使用最多的命令
  26. print("10个使用最多的命令 : {0}".format(c.most_common(10)))
  27. 效果:
  28. [root@localhost scripts]# python 5.py 
  29. 10个使用最多的命令 : [('vim', 7), ('yum', 6), ('cd', 4), ('ifconfig', 3), ('reboot', 3), ('wget', 3), ('mkdir', 2), ('pip', 2), ('rpm', 2), ('dhclient', 1)]
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: