Spaces:
Runtime error
Runtime error
# Copyright (c) OpenMMLab. All rights reserved. | |
import argparse | |
import os | |
def parse_args(): | |
parser = argparse.ArgumentParser() | |
parser.add_argument('--data-folder', help='Data folder') | |
parser.add_argument('--save-folder', help='The folder to save data order.') | |
parser.add_argument( | |
'--file-type', | |
default='.bin', | |
help='We want to get the order of the file in this type.') | |
args = parser.parse_args() | |
return args | |
def save_data_order(data_folder, save_folder, file_type='.bin'): | |
assert os.path.exists(data_folder), f'{data_folder} does not exist.' | |
triples = list(os.walk(data_folder, followlinks=True)) | |
data_order = [] | |
for root, dirs, files in triples: | |
dirs.sort() | |
print(f'Reading {root}...') | |
for fn in sorted(files): | |
if fn.endswith(file_type): | |
fp = os.path.join(root, fn) | |
# Using relative paths so that you can get the same result | |
# on different clusters | |
fp = fp.replace(data_folder, '')[1:] | |
data_order.append(fp) | |
save_path = os.path.join(save_folder, 'data_order.txt') | |
with open(save_path, 'w') as f: | |
for fp in data_order: | |
f.write(fp + '\n') | |
if __name__ == '__main__': | |
args = parse_args() | |
save_data_order(args.data_folder, args.save_folder, args.file_type) | |