python遍历文件夹并将文件夹内的文件夹进行压缩
时间: 2024-12-15 21:27:24 浏览: 56
在Python中,你可以使用`os`, `shutil`和`zipfile`模块来遍历文件夹并将其内容压缩到一个ZIP文件中。这里是一个简单的示例:
```python
import os
import shutil
import zipfile
def zip_folder(src_dir, dest_zip):
# 创建一个ZipFile对象,指定要保存的zip文件路径
with zipfile.ZipFile(dest_zip, 'w', zipfile.ZIP_DEFLATED) as zipf:
# 遍历源目录及其所有子目录
for root, dirs, files in os.walk(src_dir):
# 对于每个文件,添加到zip文件
for file in files:
abs_file_path = os.path.join(root, file)
zipf.write(abs_file_path)
# 使用函数,将指定文件夹src_dir的内容压缩到dest_zip.zip
src_dir = '/path/to/source/folder'
dest_zip = '/path/to/destination.zip'
zip_folder(src_dir, dest_zip)
相关问题
用python遍历文件夹,将文件夹下修改时间大于当前日期9点的pdf文件打包为zip文件
以下是一个示例代码,可以实现遍历文件夹,获取修改时间大于当前日期9点的pdf文件,并将它们打包为zip文件:
```python
import os
import zipfile
import datetime
# 获取当前时间
now = datetime.datetime.now()
# 设置要遍历的文件夹路径
folder_path = '/path/to/your/folder'
# 设置压缩后的zip文件名
zip_file_name = 'pdf_files.zip'
# 创建一个zip文件
zip_file = zipfile.ZipFile(zip_file_name, 'w')
# 遍历文件夹中的所有文件
for root, dirs, files in os.walk(folder_path):
for file_name in files:
# 判断文件是否为pdf文件
if file_name.endswith('.pdf'):
# 获取文件的完整路径
file_path = os.path.join(root, file_name)
# 获取文件的修改时间
modified_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))
# 判断文件的修改时间是否大于当前日期9点
if modified_time > datetime.datetime(now.year, now.month, now.day, 9):
# 将符合条件的文件添加到zip文件中
zip_file.write(file_path)
# 关闭zip文件
zip_file.close()
```
需要根据实际情况修改`folder_path`和`zip_file_name`的值。此外,如果需要修改判断文件修改时间的条件,可以修改第19行的判断语句。
python遍历目录压缩文件夹
可以使用以下Python代码来遍历目录并压缩文件夹:
```python
import os
from shutil import make_archive
def compress_folders(path):
path_list = os.listdir(path) # 获取目录列表
for folder in path_list:
folder_path = os.path.join(path, folder) # 定义需要压缩的文件夹路径
if os.path.isdir(folder_path): # 判断是否为文件夹
zip_name = os.path.join(path, folder) # 定义压缩后的目标文件名
make_archive(zip_name, 'zip', folder_path) # 压缩文件夹
# 调用函数并传入目录路径
compress_folders('D:\\BaiduNetdiskDownload')
```
这段代码会遍历指定目录下的所有文件夹,并将每个文件夹压缩成一个zip文件。你可以将`'D:\\BaiduNetdiskDownload'`替换为你想要遍历的目录路径。
#### 引用[.reference_title]
- *1* [python文件夹遍历压缩](https://blog.csdn.net/weixin_43707795/article/details/122263868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python遍历文件夹解压](https://blog.csdn.net/Rone_kiin/article/details/127511830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Python遍历文件夹中的压缩文件自动解压缩到其目录下](https://blog.csdn.net/LiuKuoHai/article/details/118657198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文
相关推荐

















