Python開啟目錄下所有檔案

來源:互聯網
上載者:User

標籤:code   判斷   foreign   style   stream   index   use   sys   locate   

用Python開啟指定目錄下所有檔案,統計檔案裡特定的欄位資訊。

這裡是先進入2017-02-25到2017-03-03目錄,然後進入特定IP段目錄下,最後開啟檔案進行統計

import os, glob, re, sysfrom isCN import *urllocate = 6if(len(sys.argv) < 3):    print ‘Useage comand JDName JDIPduan‘;    os.exit()print sys.argv[1];ipDuan = sys.argv[2]for i in range(1, 8+1):    singleStream = 0    in2out = 0    lineNum = 0    if(i >= 1 and i <= 3 ):        day = ‘2017-03-0‘ + str(i)    if(i >= 5 and i <= 8 ):        day = ‘2017-02-2‘ + str(i)    if(i == 4):        continue    try:        os.chdir(‘./‘ + day)    except:        continue        files = glob.glob(ipDuan)    for f in files:        print f;        try:            f = open(‘./‘ + f + ‘/find_prog.log‘)        except:            continue        #print f;        while True:              line = f.readline()            if not line: break            lineNum = lineNum + 1            #print line,            fields = line.split(‘\t‘)            length = len(fields)            #print ‘length=‘+str(length);            if(length >= urllocate):                url = fields[urllocate-1]                url = url.strip()                #print url,                if(url==‘null‘):                    singleStream = singleStream + 1                try:                    cipPort = fields[1].split(‘-‘)[0]                    cip = cipPort[0 : cipPort.rindex(‘.‘)]                    #print cip;                    if(iscn(cip) == True):                        in2out = in2out + 1                except:                    continue            line = f.readline()        f.close()     #print ‘single=‘ + str(singleStream);     #print ‘lineNum=‘ + str(lineNum);     print day + ‘ cn2foreign = ‘ + str(in2out) + ‘/‘ + str(lineNum) + ‘ = ‘  + str(1.0 * in2out / lineNum) + ‘\n‘;     print day + ‘ singleStream = ‘ + str(singleStream) + ‘/‘ + str(lineNum) + ‘ = ‘  + str(1.0 * singleStream / lineNum) + ‘\n‘; 

其中用到了別人的庫,用於判斷IP是否屬於國內IP

python JDStatistic.py JDName 10.*

Python開啟目錄下所有檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.