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类和函数中使用静态变量的方法
May 09 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
Python键盘输入转换为列表的实例
Jun 23 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
实例详解Python装饰器与闭包
Jul 29 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
Python流程控制 while循环实现解析
Sep 02 Python
解决pytorch报错:AssertionError: Invalid device id的问题
Jan 10 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
Python日志器使用方法及原理解析
Sep 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
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
优化javascript的执行速度
2010/01/23 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
Python模拟用户登录验证
2017/09/11 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
实例介绍Python中整型
2019/02/11 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
python中remove函数的踩坑记录
2021/01/04 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
求职自荐书范文
2013/12/04 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
环境工程专业自荐信
2014/03/03 职场文书
银行授权委托书样本
2014/10/13 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android