ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การเขียน Code ให้ Extract ไฟล์ zip ด้วยภาษา Python

สวัสดีครับกลับมาพบกันอีกแล้ว หลังจากที่บทความก่อนว่าด้วยเรื่อง การเขียน Code ให้ zip ไฟล์ด้วยภาษา Python ไปวันนี้เราจะมาต่อกันด้วยการ Extract ไฟล์ Zip หรือการแตกไฟล์ zip ด้วยภาษา Python โดยหลักๆ วิธีการคือเราก็ยังคงต้อง Import Library zipfile เพื่อที่จะใช้ method ย่อย ของตัว zipfile อยู่ โดยวิธีการเขียนจะมีดังนี้

 

1.ขั้นแรกที่สำคัญเลยคือการ import zipfile เข้ามา

import zipfile as z

 

2.ทำการสร้างฟังชั่นขึ้นมาเพื่อที่วันหลังจะได้ทำการเรียกใช้

def ex_file(name_file_zip):
    with z.ZipFile(name_file_zip,'r') as zf:
        zf.printdir()

โดยรอบนี้โหมดของตัว zipfile จะเป็น r คือการอ่านข้อมูลที่ิอยู่ภายใน ไฟล์ zip นั่นเอง และทำการแสดงผลข้อมูลของ ไฟล์ที่อยู่ภายใน ไฟล์ zip ทั้งหมด ด้วยคำสั่ง printdir

ผลลัพธ์

 

แสดงผลข้อมูลของคำสั่ง printdir
ผลลัพธ์ของการใช้คำสั่ง printdir

3.เขียนคำสั่งเพื่อทำการแตกไฟล์ทั้งหมดที่อยู่ภายใน ไฟล์ zip โดยใช้คำสั่ง extractall

        print("Extracting all the flies now...")
        zf.extractall()
        print("done!!")

4.ทำการเรียกผ่าน main อีกครั้งโดยการใส่ชื่อ file zip ที่ต้องการจะ Extract ออกมา

if __name__ == '__main__':
    ex_file("Python.zip")

full code

import os
import zipfile as z


#   แตกไฟล์มาวางไว้ที่เดียวกับโปรเจค
def ex_file(name_file_zip):
    with z.ZipFile(name_file_zip,'r') as zf:
        zf.printdir()

        print("Extracting all the flies now...")
        zf.extractall()
        print("done!!")

if __name__ == '__main__':
    ex_file("Python.zip")

ผลลัพธ์ที่ได้

แสดงผลลัพธ์ของการรันโปรแกรม extract file zip
ผลลัพธ์ของการ run extract zip file

อ้างอิง

Unzipping files in Python.[ออนไลน์].เข้าถึงจาก : https://stackoverflow.com/questions/3451111/unzipping-files-in-python.[11-Jan-2020]

zipfile — Work with ZIP archives.[ออนไลน์].เข้าถึงจาก : https://docs.python.org/3/library/zipfile.html.[11-Jan-2020]

Compressing and Extracting Files in Python.[ออนไลน์].เข้าถึงจาก : https://code.tutsplus.com/tutorials/compressing-and-extracting-files-in-python--cms-26816.[11-Jan-2020]

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : คำสั่งในการทำงานของโมดูล Turtle ส่วนที่ 3 การควบคุมหน้าต่าง

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการนำชื่อข้อมูลในชื่อในฐานข้อมูล ในไฟล์ XML ของ module joomla
โดย jamepiyawat ส 18 ม.ค. 2020 6:44 pm บอร์ด Joomla Developing Knowledge
0
5
ส 18 ม.ค. 2020 6:44 pm โดย jamepiyawat
วิธีการจัดทำการระบบแจ้้งเตือนใน phpbb
โดย Ittichai_chupol ส 18 ม.ค. 2020 5:42 pm บอร์ด PHP Knowledge
0
5
ส 18 ม.ค. 2020 5:42 pm โดย Ittichai_chupol
Pillow library ปรับขนาดรูปเป็นเปอร์เซ็นเพื่อนำไปใช้งานได้สะดวก
โดย benzas00123 ส 18 ม.ค. 2020 5:25 pm บอร์ด Python Knowledge
0
4
ส 18 ม.ค. 2020 5:25 pm โดย benzas00123
Pillow library Optimize รูปภาพเพื่อให้มีขนาดของข้อมูลที่เล็กลง
โดย benzas00123 ส 18 ม.ค. 2020 2:53 pm บอร์ด Python Knowledge
0
12
ส 18 ม.ค. 2020 2:53 pm โดย benzas00123
ตัวช่วยในการคำนวณแคลอรี่สำหรับผู้ที่รักการออกกำลังกาย
โดย prmindphp ส 18 ม.ค. 2020 11:50 am บอร์ด MindPHP News & Feedback
0
17
ส 18 ม.ค. 2020 11:50 am โดย prmindphp
เราจะเก็บรูปข้อมูลของรูปลง database เราจะใช้ data type อะไรครับ
โดย benzas00123 ส 18 ม.ค. 2020 11:31 am บอร์ด SQL - Database
2
15
ส 18 ม.ค. 2020 1:17 pm โดย benzas00123
อยากทราบวิธีการแก้ไขปัญหาการ อัพโหลดไฟล์ excel แล้วไม่รองรับภาษาไทย
โดย Ittichai_chupol ศ 17 ม.ค. 2020 5:58 pm บอร์ด Programming - PHP
6
34
ส 18 ม.ค. 2020 6:25 pm โดย Ittichai_chupol
ต้องการนับจำนวนอักษรเเละตัดอักษรที่เกิน มีปัญหากับภาษาไทย
โดย thatsawan ศ 17 ม.ค. 2020 5:18 pm บอร์ด Programming - C/C++ & java & Python
0
9
ศ 17 ม.ค. 2020 5:18 pm โดย thatsawan
สอบถามครับ ลูปค่าออกมาแล้วต้องการให้มันเก็บค่าในตัวแปร ต้องทำยังไงครับ
โดย chatee supasand ศ 17 ม.ค. 2020 3:51 pm บอร์ด Programming - C/C++ & java & Python
3
32
ศ 17 ม.ค. 2020 5:19 pm โดย thatsawan
อยากทราบวิธีก่ารเปิด exe ใน ubutu เวอชั่น 14
โดย Ittichai_chupol ศ 17 ม.ค. 2020 2:33 pm บอร์ด Programming - PHP
2
23
ศ 17 ม.ค. 2020 4:14 pm โดย Ittichai_chupol
วิธีการสร้างระบบชำระเงินด้วย omise โดยใช้ php
โดย Ittichai_chupol พฤ 16 ม.ค. 2020 6:53 pm บอร์ด PHP Knowledge
0
34
พฤ 16 ม.ค. 2020 6:53 pm โดย Ittichai_chupol
Pillow library กับการ เปลี่ยนนามสกุล img ทีเดียวหลายๆ file
โดย benzas00123 พฤ 16 ม.ค. 2020 5:45 pm บอร์ด Python Knowledge
0
19
พฤ 16 ม.ค. 2020 5:45 pm โดย benzas00123
Pillow library ในการจัดการและประมวลผลรูปภาพ
โดย benzas00123 พฤ 16 ม.ค. 2020 5:04 pm บอร์ด Python Knowledge
0
24
พฤ 16 ม.ค. 2020 5:04 pm โดย benzas00123
ความแตกต่างระหว่าง visibility: hidden; กับ display: none;
โดย Ittichai_chupol พ 15 ม.ค. 2020 6:44 pm บอร์ด CSS Knowledge
0
58
พ 15 ม.ค. 2020 6:44 pm โดย Ittichai_chupol
ตัวอย่าง การ Query ข้อมูลทีเป็นที่ได้ผลการค้นหา
โดย mindphp พ 15 ม.ค. 2020 6:40 pm บอร์ด Programming - C/C++ & java & Python
0
30
พ 15 ม.ค. 2020 6:40 pm โดย mindphp
สอบถามครับ ทำไมสร้างตารางฐานข้อมูลแล้ว มันไม่ใน ใน pg
โดย chatee supasand พ 15 ม.ค. 2020 5:55 pm บอร์ด Programming - C/C++ & java & Python
4
34
พ 15 ม.ค. 2020 6:07 pm โดย thatsawan
ขอสอบถาม error ของ flask ครับ
โดย benzas00123 พ 15 ม.ค. 2020 10:44 am บอร์ด Programming - C/C++ & java & Python
4
35
พ 15 ม.ค. 2020 10:53 am โดย benzas00123
B - เปิดใบแจ้งหนี้ INVOICE(None Vat) ไม่ได้
โดย mindphp อ 14 ม.ค. 2020 7:35 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
อ 14 ม.ค. 2020 7:35 pm โดย mindphp
สอบถาม code ของ Flask หน่อยครับว่ามันเอาไว้ใช้ทำอะไร
โดย benzas00123 อ 14 ม.ค. 2020 4:50 pm บอร์ด Programming - C/C++ & java & Python
3
35
พ 15 ม.ค. 2020 5:54 am โดย mindphp
วิธีการเพิ่มส่วนการแสดงในหน้าสมัครสมาชิกของ เว็บบอร์ด phpbb
โดย Ittichai_chupol อ 14 ม.ค. 2020 3:19 pm บอร์ด PHP Knowledge
0
40
อ 14 ม.ค. 2020 3:19 pm โดย Ittichai_chupol