解压缩文件夹中的zip到同目录下,解压后的文件以压缩包名字重命名,解压的多个文件后续增加序号区分
时间: 2024-04-13 20:30:00 浏览: 244
解压文件压缩文件,zip包
以下是一个将文件夹中的 ZIP 压缩包解压缩到同一目录下,并以压缩包的名称进行重命名,对多个文件增加序号以区分的示例程序:
```python
import os
import zipfile
def unzip_files(directory):
for filename in os.listdir(directory):
if filename.endswith(".zip"):
zip_file_path = os.path.join(directory, filename)
extract_folder_path = os.path.splitext(zip_file_path)[0]
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
zip_ref.extractall(extract_folder_path)
rename_files(extract_folder_path, filename)
def rename_files(directory, zip_filename):
file_counter = 1
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
new_filename = f"{os.path.splitext(zip_filename)[0]}_{file_counter}_{filename}"
new_file_path = os.path.join(directory, new_filename)
os.rename(file_path, new_file_path)
file_counter += 1
# 指定包含 ZIP 压缩包的目录
directory = 'path/to/your/directory'
unzip_files(directory)
```
将上述代码中的 `'path/to/your/directory'` 替换为包含 ZIP 压缩包的目录路径。在这个示例程序中,我们假设你需要解压缩该目录中的所有 ZIP 压缩包,并以压缩包的名称进行重命名。
程序中,我们首先使用 `os.listdir()` 函数遍历目录中的所有文件,筛选出以 ".zip" 结尾的文件。然后,我们构造了 ZIP 压缩包的路径和解压缩后的文件夹路径,通过使用 `zipfile.ZipFile()` 类解压缩 ZIP 压缩包到指定的文件夹。
接下来,我们调用 `rename_files()` 函数对解压缩后的文件进行重命名。在这个函数中,我们使用一个计数器来生成序号,并将序号、原始压缩包文件名和文件名组合成新的文件名。然后,使用 `os.rename()` 函数进行文件重命名。
请确保你已经安装了 Python,并且导入了 os 和 zipfile 模块。
阅读全文