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

การเขียน 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 การควบคุมหน้าต่าง

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการตรวจสอบตัวแปลภาษาใน phpbb ตัวไหนยังไม่มีการแปล
โดย Ittichai_chupol พ 08 เม.ย. 2020 10:57 am บอร์ด Programming - PHP
1
17
พ 08 เม.ย. 2020 12:24 pm โดย thatsawan
ปัญหาการใช้งาน MJUpgrade
โดย Anonymous อ 07 เม.ย. 2020 10:33 am บอร์ด MindPHP News & Feedback
5
33
อ 07 เม.ย. 2020 1:10 pm โดย mindphp
การรันไฟล์ .exe
โดย bumbim01 จ 06 เม.ย. 2020 8:25 pm บอร์ด Programming - C/C++ & java & Python
0
38
จ 06 เม.ย. 2020 8:25 pm โดย bumbim01
สรรพากรแจ้งข่าวดี ขยายเวลายื่นแบบฯ ให้ผู้ประกอบการทุกราย สู้ COVID19
โดย thatsawan จ 06 เม.ย. 2020 1:42 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
39
จ 06 เม.ย. 2020 1:42 pm โดย thatsawan
G -ข้อมูลสำหรับ ทำโปรแกรม ความต้องการของระบบที่ต้องทำ รวมเฟส 4
โดย mindphp จ 06 เม.ย. 2020 12:18 pm บอร์ด AZKing (Main)
1
10
จ 06 เม.ย. 2020 12:32 pm โดย mindphp
แนะนำบริการ hosting จาก Hostneverdie
โดย tumsailom อ 05 เม.ย. 2020 7:58 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
159
อ 05 เม.ย. 2020 7:58 pm โดย tumsailom
อยากทราบถ้าหากต้องการที่ทดสอบการทำงานของของ Event cron จะต้องทำอย่างไรบางครับ
โดย Ittichai_chupol ส 04 เม.ย. 2020 10:50 am บอร์ด Programming - PHP
1
103
จ 06 เม.ย. 2020 11:39 am โดย mindphp
เทมเพลต Megadeal ของ MooZiiCart สำหรับทำเว็บขายสินค้าออนไลน์
โดย prmindphp ศ 03 เม.ย. 2020 6:39 pm บอร์ด MindPHP News & Feedback
0
139
ศ 03 เม.ย. 2020 6:39 pm โดย prmindphp
เครื่องมือช่วยกรองสินค้า สำหรับค้นหาสินค้าที่ต้องการ
โดย prmindphp พฤ 02 เม.ย. 2020 6:46 pm บอร์ด MindPHP News & Feedback
0
169
พฤ 02 เม.ย. 2020 6:46 pm โดย prmindphp
การเขียน Script สำหรับสร้าง User ใน Joomla
โดย tsukasaz พฤ 02 เม.ย. 2020 3:33 pm บอร์ด Joomla Developing Knowledge
0
231
พฤ 02 เม.ย. 2020 3:33 pm โดย tsukasaz
อยากทราบวิธีการดึงข้อมูลจาก Excel โดยการดึงข้อมูลจาก คอลัมของ Excel มาบันทึกลงในฐานข้อมูล
โดย Ittichai_chupol พฤ 02 เม.ย. 2020 10:09 am บอร์ด Programming - PHP
1
248
พฤ 02 เม.ย. 2020 10:43 am โดย mindphp
เอ้าๆ ใครที่ใบขับขี่หมดอายุในช่วง COVID-19 สามารถอมรมผ่านออนไลน์ ด้วย e-learning ได้เเล้วนะ
โดย thatsawan พฤ 02 เม.ย. 2020 10:09 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
137
พฤ 02 เม.ย. 2020 10:09 am โดย thatsawan
วิธีการเชื่อม api ของ gitlab สำหรับดาวน์โหลดไฟล์ project ใน ภาษา Python
โดย jirawoot พ 01 เม.ย. 2020 3:38 pm บอร์ด Python Knowledge
0
209
พ 01 เม.ย. 2020 3:38 pm โดย jirawoot
สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ
โดย jirawoot พ 01 เม.ย. 2020 12:09 pm บอร์ด Programming - C/C++ & java & Python
3
190
พฤ 02 เม.ย. 2020 10:50 am โดย tsukasaz
ผมอัพเกรด joomla 2.5 เป็นเวอร์ชั่นล่าสุด 3.8 หน้าเว็บเวอร์ชั่นเดิมจะหายไปไหมคับ
โดย Anonymous พ 01 เม.ย. 2020 12:00 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
3
189
พ 01 เม.ย. 2020 4:29 pm โดย icphp
ลดอัตราหัก ณ ที่จ่าย เหลือ 1.5% ออกเป็นกฎหมายมีผลใช้บังคับแล้ว!!! นะ เริ่ม 1 เมษายน 2563
โดย thatsawan พ 01 เม.ย. 2020 10:54 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
131
พ 01 เม.ย. 2020 10:54 am โดย thatsawan
วิธีการจัดการกับเด็กๆ กวนใจ เมื่อต้องทำงานจากบ้าน #Work from home
โดย thatsawan พ 01 เม.ย. 2020 9:53 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
111
พ 01 เม.ย. 2020 9:53 am โดย thatsawan
วิธีแก้ไขปัญหา สำหรับ การนำ Template phpbb 3.3 มาใช้ใน phpbb 3.2
โดย thatsawan อ 31 มี.ค. 2020 7:27 pm บอร์ด phpBB user Guide Knowledge
0
220
อ 31 มี.ค. 2020 7:27 pm โดย thatsawan
สอบถาม ผมลองใช้ curl ของ API ของ gitlab แล้ว "message":"401 Unauthorized ครับ
โดย jirawoot อ 31 มี.ค. 2020 5:16 pm บอร์ด Programming - C/C++ & java & Python
1
400
อ 31 มี.ค. 2020 5:35 pm โดย jirawoot
การเชื่อมต่อ API ของ GitLab เพื่อดาวน์โหลดไฟล์
โดย tsukasaz อ 31 มี.ค. 2020 12:52 pm บอร์ด PHP Knowledge
0
3382
อ 31 มี.ค. 2020 12:52 pm โดย tsukasaz