A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

python 远程统计文件代码分享

时间:2015-05-14 14:41来源:a5源码作者:zhao浏览:35
享一个Python获取远程文件大小的函数代码,简单实用,是学习Python编程的基础实例。……

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,TIMECOSTn']

#多进程统计

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()

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