python读取子目录和子文件

来源:互联网 发布:java double类型比较 编辑:程序博客网 时间:2024/06/11 11:25
import os
from os import path
rootpath = "/home/wfg/kaldi-trunk/egs/timit/s5/data/train/split10/1/feats.scp"
lookdict = "/home/wfg/kaldi-trunk/egs/timit/s5/data/timit/train"

list = []
with open(rootpath,'r') as f:
    num = 0
    lines = f.readlines()
    for line  in lines:
        start = line.split(' ')[0]
        person = start.split('_')[0]
        utterance = start.split('_')[1]
        list.append((person,utterance))

dict = {}
num = 0

for parent,dirnames,filenames in os.walk(lookdict):    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
    # for dirname in  dirnames:                       #输出文件夹信息
    #     print ("parent is:" + parent)
    #     print  ("dirname is" + dirname)
    for filename in filenames:                        #输出文件信息
        if filename.endswith('.txt'):
            path = os.path.join(parent,filename)
            temp = path.split('/')
            front = temp[-2]
            behind = temp[-1].split('.')[0]
            dict[(front,behind)] = path

keys = dict.keys()
list3 = []
for file in list:
    for key in dict.keys():
        print(file,key)
        if (file == key ):
            list3.append(dict[key])

total_frame = 0

for k in list3:
    with open(k,'r') as f:
        line = f.readline()
        split = line.split(' ')
        split1 = int(split[0])
        split2 = int(split[1])
        substract = int(((split2-split1)-16*25)/160+1)
        print(split1,split2)
        total_frame = total_frame + substract

print(total_frame)





1 0