一些py文件

1、check num

import os
import copy
import numpy as np


#root_dir = path_indir
def traverse_dir(
        root_dir,
        extension=('.mid'),
        amount=None,
        str_=None,
        is_pure=False,
        verbose=False,
        is_sort=False,
        is_ext=True):
    if verbose:
        print('[*] Scanning...')
    file_list = []
    cnt = 0
    for root, _, files in os.walk(root_dir):  
        for file in files:
            if file.endswith(extension):
                if (amount is not None) and (cnt == amount):
                    break
                if str_ is not None:
                    if str_ not in file:
                        continue
                mix_path = os.path.join(root, file)
                pure_path = mix_path[len(root_dir)+1:] if is_pure else mix_path
                if not is_ext:
                    ext = pure_path.split('.')[-1]
                    pure_path = pure_path[:-(len(ext)+1)]
                if verbose:
                    print(pure_path)
                file_list.append(pure_path)
                cnt += 1
    if verbose:
        print('Total: %d files' % len(file_list))
        print('Done!!!')
    if is_sort:
        file_list.sort()
    return file_list
    
if __name__ == '__main__':
    # paths
    path_indir = './midis'    #原始midi
    #path_outdir = './midi_analyzed'      
    #os.makedirs(path_outdir, exist_ok=True)

    # list files,midifiles=返回的file_list
    midifiles = traverse_dir(
        path_indir,
        is_pure=True,
        is_sort=True)
    n_files = len(midifiles)
    print('num fiels:', n_files)

2、ckeckpkl

import os
import pickle
import json
path_root = './midi-representation_1021'
path_dict = os.path.join(path_root, 'dictionary.pkl')
dictionary = pickle.load(open("./3class_1038/events/Q1__FVzelKlBFs_0.mid.pkl", 'rb'))
print(dictionary)

'''
#save txt
path_dictionary_txt = os.path.join(path_root, 'dictionary.txt')  
with open(path_dictionary_txt, 'w') as f:
    json.dump(dictionary, f)
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值