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(‘\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.*

时间: 2024-12-30 12:03:30

Python打开目录下所有文件的相关文章

Python 打开目录与指定文件

Python打开外部文件有很多方法, os.popen打开外部程序,但发现只能打开文件所在目录的文件 os.system可打开外部文件os.system(command) command 要执行的命令,相当于在Windows的cmd窗口中输入的命令.如果要向程序或者脚本传递参数,可以使用空格分隔程序及多个参数. os.startfile (推荐) 可打开外部程序os.startfile (path [, operation])这样执行的动作与在Windows Explorer中双击文件相同.在应

Python语言获取目录下所有文件

#coding=utf-8# -*- coding: utf-8 -*-import osimport sysreload(sys) sys.setdefaultencoding('utf-8') def GetFileList(dir, fileList): newDir = dir if os.path.isfile(dir): fileList.append(dir.decode('gbk')) elif os.path.isdir(dir): for s in os.listdir(di

python对目录下的文件进行 多条件排序

在进入正题之前,先介绍一下基础知识: 1.sort(),方法:就是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表 lists =[1, 5, 10, 8, 6]lists.sort() print(lists) >>> [1, 5, 6, 8, 10] 2.sorted() 方法: 对列表进行排序后,返回一个新的列表,而原列表不变.并且sorted()方法可以用在任何数据类型的序列中,而返回的总是一个列表的形式. lists = [1, 5, 10, 8, 6] a

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方

windows下Python打开包含中文路径名文件

windows使用gbx(gb2312,gbk,gb18030我也不知道是哪个)对文件名及文件路径进行编码保存.打开文件的函数中使用诸如open(filename.encode('gbk'))可以很好的解决. #coding:utf8 if __name__ == '__main__': srcfile = r"D:/测试路径/测试文件.txt" f = open(srcfile.decode('utf8').encode('gbk')) for text in f.readlines

[转载]Python递归遍历目录下所有文件

#自定义函数: import ospath="D:\\Temp_del\\a"def gci (path):"""this is a statement"""parents = os.listdir(path)for parent in parents:child = os.path.join(path,parent)#print(child)if os.path.isdir(child):gci(child)# print(

python 查看目录下所有目录和文件

python查看目录下所有的子目录和子文件 python递归便利目录结构 方法1 import json, os def list_dir(path, res): for i in os.listdir(path): temp_dir = os.path.join(path, i) if os.path.isdir(temp_dir): temp = {"dirname": temp_dir, 'child_dirs': [], 'files': []} res['child_dirs

Python 读取某个目录下的文件

读取某个目录下的文件,如'/Users/test/test_kmls'目录下有test1.txt.test2.txt. 第一种方法读出的all_files是test1.txt.test2.txt 1 import os 2 3 kml_path=os.path.abspath('/Users/test/test_kmls') 4 all_files=os.listdir(kml_path) 5 for file in all_files: 6 print file 第二种方法可以获得文件的全路径