删除Python中的压缩文件夹

时间:2018-05-30 12:40:28

标签: python python-3.x unzip

我是python的新手,并试图学习东西。我有一个python脚本,基本上从源压缩拉链文件夹解压缩并提取到目标文件夹。添加后我还想删除源内容。我怎么做到这一点?提前感谢您的帮助!

基本上,在此路径中“ L:\ Python \ Source Zipped files ”我有多个压缩文件夹。我的查询,解压缩每个文件夹并提取到最终目的地。我正在寻找一种方法,比如首先解压缩第一个文件夹,然后提取然后应该从源文件夹中删除它。包含源文件夹外观的片段。

enter image description here

这是我的查询

        import os
        import zipfile
        import shutil
        import json

        data_dir = r'L:\Python\Source Zipped files'
        temp_dir =  r'L:\Python\temp1'
        new_dir = r'L:\Python\temp2'
        final_dir = r'L:\Python\Destination Unzipped files'

        big_list = os.listdir(data_dir)

        archive_count = 0
        file_count = 152865
        basename1 = os.path.join(final_dir,'GENERIC_ROUGHDRAFT')
        basename2 = os.path.join(final_dir,'XACTDOC')

        my_time()
        archive_count = len(big_list)
        logging.info('Unzipping {} archives...'.format(archive_count))
        for folder in big_list:
            prior_count = file_count
            logging.info('Starting: {}'.format(folder))

            try:
                shutil.rmtree(temp_dir)
            except FileNotFoundError: 
                pass
            os.mkdir(temp_dir)
            with zipfile.ZipFile(os.path.join(data_dir,folder),mode='r') as a_zip:
                a_zip.extractall(path = temp_dir)
                archive_count += 1
                logging.info('Cumulative total of {} archive(s) unzipped'.format(archive_count))
                bigger_list = os.listdir(temp_dir)
                logging.info('Current archive contains {} subfolders'.format(len(bigger_list)))
                for sub_folder in bigger_list:
                    with zipfile.ZipFile(os.path.join(temp_dir,sub_folder),mode='r') as b_zip:
                        b_zip.extractall(path = new_dir)
                    file1 = "%s (%d).%s" % (basename1, file_count, 'xml')
                    file2 = "%s (%d).%s" % (basename2, file_count, 'xml')
                    shutil.copy(os.path.join(new_dir, 'GENERIC_ROUGHDRAFT.xml'), file1)
                    shutil.copy(os.path.join(new_dir, 'XACTDOC.xml'), file2)
                    file_count += 1
                logging.info('{} subfolders unzipped'.format(file_count - prior_count))

            my_time()
        logging.info('Total of {0} files -- {1} pairs -- should be in {2}'.format(2*(file_count-1), file_count-1, final_dir))

        time.sleep(1)

        my_time()

0 个答案:

没有答案