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()