python - 在 Python 中删除压缩文件夹
问题描述
我确实是 python 的新手,并试图学习一些东西。我有一个 python 脚本,它基本上从源的压缩压缩文件夹中解压缩并将所有内容提取到目标文件夹。添加了我还想在提取源内容后删除它。我将如何实现这一目标?提前感谢您的帮助!
基本上,在这个路径“ L:\Python\Source Zipped files ”中,我有多个压缩文件夹。我的查询,解压缩每个文件夹并提取到最终目的地。我正在寻找一种方法,例如首先解压缩第一个文件夹,然后提取然后将其从源文件夹中删除。包括源文件夹的外观片段。
这是我的查询
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()
解决方案
推荐阅读
- sql - 在 SQL Server 的情况下,如何在存储过程中传递可选参数?
- awk - 我想用 sed 或 awk 在每一行之前打印同一行
- javascript - Node.js - 如何编写/序列化包含函数和特殊值的任意 JavaScript 对象并将其保存到 .js 文件
- java - 我如何确保圆心在处理过程中保持静止?
- python - bs4.FeatureNotFound: ... lxml 与 MacOS 和 Conda / Python 3
- android - “TextView”不包含“setLayoutParams”的定义
- java - 我的网站的数字资产链接协议不起作用
- php - Opencart 3 新产品提交数据
- angular - CORS 不适用于 Angular 5 tomcat 8 应用程序
- react-native - 将变量传递给图像组件 - React Native