python将一个文件打包成zip
时间: 2024-10-14 16:03:49 浏览: 5
在Python中,你可以使用内置的`zipfile`模块来创建.zip文件,将文件或目录打包。下面是一个简单的例子:
```python
import zipfile
# 定义要打包的文件或目录路径列表
files_to_zip = ['file1.txt', 'file2.jpg', 'folder']
# 创建一个新的ZipFile对象,并指定要保存的zip文件名
with zipfile.ZipFile('output.zip', 'w') as zipf:
# 遍历文件或目录列表,添加到压缩文件中
for file in files_to_zip:
if os.path.isfile(file): # 检查是否是文件
zipf.write(file) # 将文件添加
elif os.path.isdir(file): # 如果是目录,则递归处理其内容
for root, dirs, files in os.walk(file):
for inner_file in files:
inner_path = os.path.join(root, inner_file)
zipf.write(inner_path)
# 打包完成
相关问题
python将多个文件打包zip
可以使用Python内置的zipfile模块来实现将多个文件打包成zip文件的功能。具体实现步骤如下:
1. 导入zipfile模块
2. 创建一个ZipFile对象,指定要创建的zip文件名和打开模式(一般为'w')
3. 使用write()方法向zip文件中添加文件,可以使用绝对路径或相对路径
4. 关闭ZipFile对象
示例代码如下:
```python
import zipfile
# 创建ZipFile对象
with zipfile.ZipFile('myfiles.zip', 'w') as myzip:
# 向zip文件中添加文件
myzip.write('file1.txt')
myzip.write('file2.txt')
myzip.write('dir/file3.txt')
# 关闭ZipFile对象
```
以上代码将会把当前目录下的file1.txt、file2.txt和dir目录下的file3.txt三个文件打包成一个名为myfiles.zip的zip文件。
python2.7 将指定文件夹 打包成zip
在Python 2.7中,你可以使用ZipFile类来实现将指定文件夹打包成zip文件的功能。以下是一个示例代码:
```python
import zipfile
import os
def zip_folder(folder_path, output_path):
"""
将指定文件夹打包成zip文件
:param folder_path: 要打包的文件夹路径
:param output_path: 打包后的zip文件路径
"""
zipf = zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
zipf.write(file_path, os.path.relpath(file_path, folder_path))
zipf.close()
# 示例:将指定文件夹打包成zip文件
folder_path = '/path/to/folder'
output_path = '/path/to/output.zip'
zip_folder(folder_path, output_path)
```
在上面的代码中,我们同样使用了ZipFile类来创建一个zip文件,并使用os模块中的walk函数递归遍历指定的文件夹,将其中的文件添加到zip文件中。和Python 3.x不同的是,在Python 2.7中我们需要手动调用close方法来关闭zip文件。