zoukankan      html  css  js  c++  java
  • Python打开目录下所有文件

    用Python打开指定目录下所有文件,统计文件里特定的字段信息。

    这里是先进入2017-02-25到2017-03-03目录,然后进入特定IP段目录下,最后打开文件进行统计

    import os, glob, re, sys
    from isCN import *
    urllocate = 6
    if(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('	')
                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) + '
    '; 
        print day + ' singleStream = ' + str(singleStream) + '/' + str(lineNum) + ' = '  + str(1.0 * singleStream / lineNum) + '
    '; 

    其中用到了别人的库,用于判断IP是否属于国内IP

    python JDStatistic.py JDName 10.*

  • 相关阅读:
    测试工具知识大集合
    滴滴,好未来,百度,快手,头条测试&测试开发岗面经(附面试题)
    做数据必知的十本书,你读过几本?
    如何有效延长假期?
    当程序猿第那几年!
    自动化测试中的那些误解和偏见
    北京VS上海:“活着为了工作”还是“工作为了生活”?
    程序员国庆相亲图鉴
    有赞精准测试实践
    IE中的文档兼容性
  • 原文地址:https://www.cnblogs.com/vincent-vg/p/6537784.html
Copyright © 2011-2022 走看看