1234567891011121314151617181920212223242526272829303132333435363738 |
- import argparse
- import os
- import shutil
- import tarfile
- def run():
- parser = argparse.ArgumentParser(description='Extract')
- parser.add_argument("--source", type=str)
- parser.add_argument('--target', type=str)
- parser.add_argument('--task', type=str)
- args = parser.parse_args()
- files = os.listdir(args.source)
- for file in files:
- if args.task in file:
- print(f"Processing {file}")
- try:
- source_path = os.path.join(args.source, file)
- target_path = os.path.join(args.target, args.task)
- file_obj = tarfile.open(source_path, "r")
- file_obj.extractall(target_path)
- file_obj.close()
- old_name = os.path.join(target_path, args.task)
- place = file.replace(args.task, "").replace("_.tar", "")
- new_name = os.path.join(target_path, place)
- shutil.move(old_name, new_name)
- print(f"Extracted {file}")
- except Exception as e:
- print()
- print(f"Failed to extract {file}")
- print(e)
- print()
- if __name__ == '__main__':
- run()
|