Untitled

 avatar
unknown
plain_text
2 years ago
1.1 kB
3
Indexable
import multiprocessing
import glob
import subprocess
from tqdm import tqdm
import os
import shutil

SRC_PATH = '/media/Z/minhnh46/Datasets/Project_CodeNet_Python800'
OUT_PATH = '/home/minhnh46/Python800'
def process_one_classes(c):
    paths = glob.glob(f'{SRC_PATH}/{c}/*.py')
    for path in tqdm(paths):
        # subprocess.run(['sudo', '2to3', f'--output-dir=/media/Z/minhnh46/Datasets/Python800/{c}', '-W', '-n', path], capture_output=True, check = True)
        try:
            subprocess.run(['sudo', '2to3', f'--output-dir={OUT_PATH}/{c}', '-w', '-n', path], capture_output = 1, check = True)
        except:
            if not os.path.exists(f'{OUT_PATH}/{c}'):
                os.makedirs(f'{OUT_PATH}/{c}/')
            shutil.copy(path, f'{OUT_PATH}/{c}/')

if __name__ == "__main__":
    with multiprocessing.Pool(32) as pool:
        classes = list(map(lambda x: x.split('/')[-2], glob.glob('{SRC_PATH}/*/*.py')))
        classes = list(set(classes))
        for c in classes:
            pool.apply_async(process_one_classes, (c, ))
        pool.close()
        pool.join()