萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python 遠程統計文件代碼分享

python 遠程統計文件代碼分享

   享一個Python獲取遠程文件大小的函數代碼,簡單實用,是學習Python編程的基礎實例。

  python 遠程統計文件

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #!/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()

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

        注< >:更多精彩教程請關注三聯編程

copyright © 萬盛學電腦網 all rights reserved