Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan modul zipfile untuk mencipta dan menyahmampat fail ZIP dalam Python 3.x

Cara menggunakan modul zipfile untuk mencipta dan menyahmampat fail ZIP dalam Python 3.x

PHPz
Lepaskan: 2023-07-30 18:49:53
asal
1395 orang telah melayarinya

Cara menggunakan modul fail zip untuk mencipta dan menyahmampat fail ZIP dalam Python 3.x

Pengenalan:
Dalam pengaturcaraan Python, menangani pemampatan dan penyahmampatan fail adalah tugas biasa. Modul zipfile menyediakan cara yang mudah untuk mencipta dan menyahmampat fail ZIP. Artikel ini akan memperkenalkan cara menggunakan modul fail zip untuk mencipta dan menyahmampat fail ZIP dan memberikan contoh kod yang sepadan.

1. Cipta fail ZIP:
Untuk mencipta fail ZIP, kita perlu mengimport modul fail zip dahulu, dan kemudian gunakan objek ZipFile untuk mencipta dan menulis fail. Berikut ialah kod contoh mudah:

import zipfile

# 创建一个名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'w') as myzip:
    # 向ZIP文件中写入一个名为file1.txt的文件
    myzip.write('file1.txt')
    # 向ZIP文件中写入一个名为file2.txt的文件
    myzip.write('file2.txt')
    # 可以通过使用相对路径来写入文件到ZIP文件的指定目录下
    myzip.write('folder/file3.txt', 'data/file3.txt')
Salin selepas log masuk

Dalam kod di atas, kami telah menggunakan pengurus konteks Python (dengan pernyataan) untuk memastikan fail ZIP ditutup apabila operasi selesai. Di dalam pernyataan with, kami menggunakan kaedah write() untuk menulis fail ke fail ZIP. Kaedah write() mengandungi dua parameter Parameter pertama ialah nama fail atau laluan yang akan ditulis, dan parameter kedua ialah laluan fail dalam fail ZIP. Jika hujah kedua tidak disediakan, fail akan ditulis ke direktori akar fail ZIP. with语句内部,我们通过write()方法来向ZIP文件中写入文件。write()方法包含两个参数,第一个参数是要写入的文件名或路径,第二个参数是文件在ZIP文件中的路径。如果第二个参数不提供,则文件将被写入ZIP文件的根目录。

二、解压ZIP文件:
要解压一个ZIP文件,我们可以使用zipfile.ZipFile对象的extractall()方法。下面是一个解压ZIP文件的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 解压ZIP文件的所有内容到当前目录下
    myzip.extractall()
Salin selepas log masuk

在上面的代码中,我们使用了与创建ZIP文件类似的上下文管理器,确保在完成解压操作后关闭ZIP文件。我们通过extractall()方法来解压ZIP文件的所有内容到当前目录下。如果需要将ZIP文件解压到指定目录,可以在extractall()方法中传入一个参数,指定解压目标路径。

三、遍历ZIP文件内容:
除了创建和解压ZIP文件,我们还可以遍历ZIP文件中的所有文件和目录。zipfile.ZipFile对象提供了namelist()方法来获取ZIP文件中的所有文件和目录列表。下面是一个遍历ZIP文件内容的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 获取ZIP文件中的所有文件和目录列表
    filelist = myzip.namelist()
    
    # 遍历文件列表并打印
    for filename in filelist:
        print(filename)
Salin selepas log masuk

在上面的代码中,我们使用了namelist()方法获取ZIP文件的文件列表,并将其赋值给变量filelist。然后,我们使用for循环遍历filelist

2. Ekstrak fail ZIP:

Untuk menyahmampat fail ZIP, kita boleh menggunakan kaedah extractall() bagi objek zipfile.ZipFile. Berikut ialah contoh kod untuk menyahmampat fail ZIP:
rrreee

Dalam kod di atas, kami menggunakan pengurus konteks yang serupa dengan yang digunakan untuk mencipta fail ZIP, memastikan fail ZIP ditutup selepas operasi penyahmampatan selesai. Kami menggunakan kaedah extractall() untuk mengekstrak semua kandungan fail ZIP ke direktori semasa. Jika anda perlu mengekstrak fail ZIP ke direktori yang ditentukan, anda boleh menghantar parameter dalam kaedah extractall() untuk menentukan laluan sasaran penyahmampatan. 🎜🎜3. Traverse kandungan fail ZIP: 🎜Selain mencipta dan menyahmampat fail ZIP, kami juga boleh melintasi semua fail dan direktori dalam fail ZIP. Objek zipfile.ZipFile menyediakan kaedah namelist() untuk mendapatkan senarai semua fail dan direktori dalam fail ZIP. Berikut ialah contoh kod untuk merentasi kandungan fail ZIP: 🎜rrreee🎜Dalam kod di atas, kami menggunakan kaedah namelist() untuk mendapatkan senarai fail fail ZIP dan menetapkannya kepada pembolehubah senarai fail. Kemudian, kami menggunakan gelung for untuk menggelung melalui senarai fail dan mencetak nama fail. 🎜🎜Kesimpulan: 🎜Menggunakan modul zipfile, kita boleh membuat dan menyahmampat fail ZIP dengan mudah. Artikel ini memperkenalkan cara menggunakan modul fail zip untuk mencipta fail ZIP, menyahmampat fail ZIP dan melintasi kandungan fail ZIP dan menyediakan contoh kod yang sepadan. Saya harap artikel ini telah membantu anda dalam mengendalikan tugasan pemampatan dan penyahmampatan fail dalam pengaturcaraan Python. 🎜

Atas ialah kandungan terperinci Cara menggunakan modul zipfile untuk mencipta dan menyahmampat fail ZIP dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan