python 远程统计文件代码分享


Posted in Python onMay 14, 2015

python 远程统计文件

#!/usr/bin/python
#encoding=utf-8
import time
import os
import paramiko
import multiprocessing

#统计文件数量
def get_total(ip,password,filepath):
  paramiko.util.log_to_file('paramiko.log')
  ssh=paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  try:
    starttime=time.time()
    ssh.connect(hostname=ip,port=22,username='root',password=password)
    #stdin,stdout,stderr = ssh.exec_command(str(len(os.listdir(filepath))))
    stdin,stdout,stderr = ssh.exec_command('cd filepath ;ls |wc -l')
    #print ip,filepath,stdout.read().strip('\n')
    count=int(stdout.read().strip('\n'))
    endtime=time.time()
    caltime=endtime-starttime
    result=ip+','+filepath.strip('\n')+','+str(count)+','+str(caltime)+'\n'
    return result
  except:
    result=ip+','+filepath.strip('\n')+','+'failed'+'\n'
    return result
#读取ip、密码,ip.csv每一行为192.168.1.1,111111,/var 第一列是ip地址,第二例是密码,第三列是路径
iplist=open('ip.csv').readlines()
#存入统计结果
ipresultlist=['IP,FILEPATH,COUNT,TIMECOST\n']
#多进程统计
pool=multiprocessing.Pool(processes=6)
#循环每一行进行统计
for ip in iplist:
  ipin=ip.split(',')
  pool.apply_async(ipresultlist.append(get_total(ipin[0],ipin[1],ipin[2])))
pool.close()
pool.join()
#写入文件
fp=open('tongji_log'+'_'+time.strftime('%Y%m%d%H%M%S',time.localtime())+'.csv','a+')
fp.writelines(ipresultlist)
fp.close()

以上所述就是本文的全部内容了,希望大家能够喜欢。

Python 相关文章推荐
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
python和flask中返回JSON数据的方法
Mar 26 Python
python调用百度语音识别api
Aug 30 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
Python Numpy库安装与基本操作示例
Jan 08 Python
使用Python实现跳帧截取视频帧
May 31 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
详解Python中for循环的使用方法
May 14 #Python
python编写爬虫小程序
May 14 #Python
讲解Python中if语句的嵌套用法
May 14 #Python
详解Python中的条件判断语句
May 14 #Python
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 #Python
Python入门教程之if语句的用法
May 14 #Python
Python随机生成信用卡卡号的实现方法
May 14 #Python
You might like
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
Vue学习之组件用法实例详解
2020/01/06 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
如何利用python读取micaps文件详解
2020/10/18 Python
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
小学教师岗位职责
2013/11/25 职场文书
大学开学计划书
2014/04/30 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
php引用传递
2021/04/01 PHP
JavaScript 数组去重详解
2021/09/15 Javascript
解析python中的jsonpath 提取器
2022/01/18 Python
MySQL池化框架学习接池自定义
2022/07/23 MySQL