文件拷贝python脚本

import os
import sys

import shutil
import argparse

from glob import glob as glob


def parse_opt(known=False):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '--src_dir', type=str, default='./', help='farther folder of folders.')
    parser.add_argument(
        '--dst_path', type=str, default='./view_split', help='father folder of dst files in different folders.')

    opt = parser.parse_known_args()[0] if known else parser.parse_args()
    return opt


def copy_first_10_files(source_dir, dest_dir):
    for root, dirs, files in os.walk(source_dir):
        for dir in dirs:
            source_subdir = os.path.join(root, dir)
            dest_subdir = source_subdir.replace(source_dir, dest_dir+"/", 1)

            os.makedirs(dest_subdir, exist_ok=True)

            if not os.path.exists(dest_subdir):
                os.makedirs(dest_subdir)

            file_list = os.listdir(source_subdir)
            file_list.sort()  # Sort files for consistent order

            for i, file in enumerate(file_list):
                if i < 1:
                    source_file = os.path.join(source_subdir, file)
                    dest_file = os.path.join(dest_subdir, file)
                    shutil.copy2(source_file, dest_file)
                    print("Copied: {} to {}".format(source_file, dest_file))


def main(opt):
    cur_dir = os.path.dirname(__file__)
    source_directory = opt.src_dir
    destination_directory = opt.dst_path

    copy_first_10_files(source_directory, destination_directory)


if __name__ == "__main__":

    opt = parse_opt()

    main(opt)

你可能感兴趣的:(python,开发语言)