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命令行参数sys.argv使用示例
Jan 28 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
Python日期的加减等操作的示例
Aug 15 Python
Python进程间通信Queue实例解析
Jan 25 Python
解决python3 json数据包含中文的读写问题
May 10 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
python扫描线填充算法详解
Feb 19 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
python实现手势识别的示例(入门)
Apr 15 Python
python调用API接口实现登陆短信验证
May 10 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
python使用列表的最佳方案
Aug 12 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作为Shell脚本语言使用
2006/10/09 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
js表单验证实例讲解
2016/03/31 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
在Python程序中实现分布式进程的教程
2015/04/28 Python
对Python w和w+权限的区别详解
2019/01/23 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
初任培训自我鉴定
2013/10/07 职场文书
个人生活学习自我评价范文
2013/11/26 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
七年级地理教学计划
2015/01/22 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL