python将目录下的excel文件打包成带密码打zip
时间: 2024-09-09 21:12:03 浏览: 55
在Python中,你可以使用`zipfile`模块以及`os`模块来完成这个任务,同时结合`getpass`模块获取用户输入的密码。以下是一个简单的示例步骤:
1. 导入所需的库:
```python
import os
import zipfile
from getpass import getpass
```
2. 获取用户指定的目录和需要加密的ZIP文件名:
```python
directory = input("请输入Excel文件所在的目录路径: ")
zip_filename = input("请输入打包后的ZIP文件名 (包括'.zip'): ")
password = getpass("请输入ZIP文件的密码: ")
```
3. 遍历目录,添加Excel文件到ZIP文件:
```python
with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED, allowZip64=True) as zipf:
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.xlsx') or file.endswith('.xls'):
file_path = os.path.join(root, file)
zipf.setpassword(password.encode()) # 加密操作
zipf.write(file_path)
```
4. 提供提示,告知用户压缩已完成:
```python
print(f"已成功将{directory}目录下的Excel文件打包至{zip_filename}, 密码为'{password}'")
```
阅读全文