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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
浅析Python中的join()方法的使用
May 19 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
使用Keras预训练好的模型进行目标类别预测详解
Jun 27 Python
详解Python中openpyxl模块基本用法
Feb 23 Python
学点简单的Django之第一个Django程序的实现
Feb 24 Python
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
May 28 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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
php引用传值实例详解学习
2013/11/06 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
React中this丢失的四种解决方法
2019/03/12 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
pygame实现弹力球及其变速效果
2017/07/03 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
python同步两个文件夹下的内容
2019/08/29 Python
python 遍历pd.Series的index和value
2019/11/26 Python
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
研发工程师的岗位职责
2013/11/18 职场文书
护士个人自我鉴定
2014/03/24 职场文书
小学生暑假安全公约
2015/07/14 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
Python编解码问题及文本文件处理方法详解
2021/06/20 Python