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 web程序
Sep 11 Python
python简单的函数定义和用法实例
May 07 Python
以windows service方式运行Python程序的方法
Jun 03 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
python3利用Socket实现通信的方法示例
May 06 Python
python时间序列按频率生成日期的方法
May 14 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 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
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
Yii快速入门经典教程
2015/12/28 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
jQuery的Ajax的自动完成功能控件简要说明
2013/02/22 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
详解python运行三种方式
2019/05/13 Python
python flask搭建web应用教程
2019/11/19 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
浅谈django 重载str 方法
2020/05/19 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
高校学生干部的自我评价分享
2013/11/04 职场文书
劳动竞赛口号
2014/06/16 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
家长会开场白和结束语
2015/05/29 职场文书
初中英语教学随笔
2015/08/15 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL