1、check num
import os
import copy
import numpy as np
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__':
path_indir = './midis'
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)
'''