ZipFilePython是Python中用於處理ZIP文件的內置模塊,提供了壓縮和解壓縮文件的常用功能。下面我們將從多個方面詳細介紹ZipFilePython模塊的使用。
一、創建ZIP文件
ZipFilePython模塊可以用於創建ZIP文件。可以使用ZipFile類創建一個ZIP文件對象,然後添加文件到ZIP文件中。
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'w')
# 將文件添加到ZIP文件中
zip_file.write('file1.txt')
zip_file.write('file2.txt')
# 關閉ZIP文件對象
zip_file.close()
以上代碼將創建一個名為my_archive.zip
的ZIP文件,並在其中添加了兩個文本文件file1.txt
和file2.txt
。
二、解壓ZIP文件
ZipFilePython模塊也可以用於解壓ZIP文件。可以使用ZipFile類創建一個ZIP文件對象,然後使用extractall()
方法將ZIP文件解壓縮到指定的目錄。
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'r')
# 解壓ZIP文件到指定目錄
zip_file.extractall('/path/to/extracted/files')
# 關閉ZIP文件對象
zip_file.close()
以上代碼將解壓縮my_archive.zip
文件到指定目錄/path/to/extracted/files
中。
三、獲取ZIP文件信息
ZipFilePython模塊提供了獲取ZIP文件及其成員信息的方法。
獲取ZIP文件列表:
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'r')
# 獲取ZIP文件列表
zip_file_list = zip_file.namelist()
# 關閉ZIP文件對象
zip_file.close()
以上代碼通過namelist()
方法獲取ZIP文件中的文件列表。
獲取ZIP文件信息:
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'r')
# 獲取ZIP文件信息
zip_info = zip_file.getinfo('file1.txt')
# 列印文件信息
print(zip_info.filename)
print(zip_info.file_size)
print(zip_info.compress_size)
# 關閉ZIP文件對象
zip_file.close()
以上代碼通過getinfo()
方法獲取指定文件的信息,並可以獲取該文件的大小和壓縮大小等信息。
四、從ZIP文件中讀取文件內容
ZipFilePython模塊還可以從ZIP文件中讀取文件內容。可以使用ZipFile類創建一個ZIP文件對象,並使用read()
方法讀取文件內容。
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'r')
# 讀取文件內容
file_content = zip_file.read('file1.txt', 'r')
# 列印文件內容
print(file_content)
# 關閉ZIP文件對象
zip_file.close()
以上代碼將列印出file1.txt
文件的內容。
五、從ZIP文件中移除文件
最後,ZipFilePython模塊還可以從ZIP文件中移除文件。可以使用ZipFile類創建一個ZIP文件對象,並使用remove()
方法將指定文件從ZIP文件中移除。
import zipfile
# 創建一個ZIP文件對象
zip_file = zipfile.ZipFile('my_archive.zip', 'w')
# 將文件添加到ZIP文件中
zip_file.write('file1.txt')
zip_file.write('file2.txt')
# 移除指定文件
zip_file.remove('file1.txt')
# 關閉ZIP文件對象
zip_file.close()
以上代碼將移除file1.txt
文件,並將剩餘的文件file2.txt
保存到my_archive.zip
文件中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151825.html