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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
R - AI แยกชาย/หญิง
โดย mindphp ศ 31 ก.ค. 2020 8:08 pm บอร์ด FDD (Main)
0
1
ศ 31 ก.ค. 2020 8:08 pm โดย mindphp
สอบถามเรื่อง cron.task.core เวลาในการตั้งค่า ให้ระบบทำงาน
โดย thatsawan ศ 31 ก.ค. 2020 5:34 pm บอร์ด Programming - PHP
2
30
ศ 31 ก.ค. 2020 6:19 pm โดย thatsawan
ผมไปโหลดโปรเเกรมนึงมาพอผมติดตั้งตามปกติเเต่เหมือนจะเป็นไวรัสผมเลยรีบลบ
โดย Anonymous ศ 31 ก.ค. 2020 12:18 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
26
ศ 31 ก.ค. 2020 4:06 am โดย mindphp
ถ้าเราต้องการ timestamp เวลา 0.00 น. เที่ยงคืนของวันปัจจุบัน ทำได้ยังไงค่ะ
โดย thatsawan พ 29 ก.ค. 2020 11:24 am บอร์ด Programming - PHP
4
65
พฤ 30 ก.ค. 2020 5:50 pm โดย anawat2050
[Tip]excel วิธี save as เป็นไฟล์ .csv โดยใช้ | คั่นคอลัมน์แทน ,
โดย jataz2 พ 29 ก.ค. 2020 9:14 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
29
พ 29 ก.ค. 2020 9:14 am โดย jataz2
Webboard สำหรับ WP
โดย wichai007 อ 28 ก.ค. 2020 9:01 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
57
อ 28 ก.ค. 2020 9:01 pm โดย wichai007
ถอด วันที่จาก excel มาได้ผลลัพท์เเต่ละ แถว row ไม่เหมือนกัน
โดย thatsawan อ 28 ก.ค. 2020 8:18 pm บอร์ด Programming - PHP
2
46
อ 28 ก.ค. 2020 8:40 pm โดย mindphp
B - ตัวอย่างคำสั่งที่ไม่เข้าไปใน e-mail [2020-07][002]
โดย natthanit.r2538 ศ 24 ก.ค. 2020 6:28 pm บอร์ด MD-CRM - Tester
2
8
อ 28 ก.ค. 2020 7:12 pm โดย mindphp
สอบถาม มีวิธีเขียน pyhon อ่านไฟล์ .dll มั้ยครับ
โดย jirawoot ศ 24 ก.ค. 2020 2:36 pm บอร์ด Programming - C/C++ & java & Python
0
93
ศ 24 ก.ค. 2020 2:36 pm โดย jirawoot
จะต้องทำยังไงถึงจะสมบรูณ์ GroundOverlay overlay
โดย niran พ 22 ก.ค. 2020 11:19 pm บอร์ด JavaScript & Jquery Ajax
0
120
พ 22 ก.ค. 2020 11:19 pm โดย niran
จะต้องทำยังไงถึงจะสมบรูณ์
โดย Anonymous พ 22 ก.ค. 2020 9:14 pm บอร์ด HTML CSS
2
138
พฤ 23 ก.ค. 2020 8:30 pm โดย บุคคลทั่วไป
สอบถามเกี่ยวกับการรองรับจำนวนผู้ใช้งาน postgresql
โดย Anonymous พ 22 ก.ค. 2020 2:56 pm บอร์ด SQL - Database
1
116
พ 22 ก.ค. 2020 4:45 pm โดย mindphp
การรองรับจำนวนผู้ใช้ postgreSQL
โดย Anonymous พ 22 ก.ค. 2020 2:33 pm บอร์ด PostgreSQL
1
121
พ 22 ก.ค. 2020 4:45 pm โดย mindphp
ข้อควรคิดเรื่องสถานที่จัดงาน ก่อนเลือกธีมงานแต่งงาน
โดย thongdeesmilesuk พ 22 ก.ค. 2020 12:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
80
พ 22 ก.ค. 2020 12:30 pm โดย thongdeesmilesuk
ทำความรู้จักกับ Apache Hadoop
โดย moo1997 อ 21 ก.ค. 2020 5:42 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
80
อ 21 ก.ค. 2020 5:42 pm โดย moo1997
Marketplace คืออะไร
โดย moo1997 อ 21 ก.ค. 2020 3:50 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
91
อ 21 ก.ค. 2020 3:50 pm โดย moo1997
สอบถามเรื่องการเปลี่ยนภาษาบน Linux
โดย moo1997 อ 21 ก.ค. 2020 2:10 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
136
อ 21 ก.ค. 2020 2:17 pm โดย thatsawan
การ insert ข้อมูลจาก textbox ลงในฐานข้อมูล โดยใช้ภาษา C#
โดย moo1997 อ 21 ก.ค. 2020 11:49 am บอร์ด Programming - C/C++ & java & Python
0
117
อ 21 ก.ค. 2020 11:49 am โดย moo1997
การเขียน php เชื่อมต่อกับฐานข้อมูล
โดย moo1997 อ 21 ก.ค. 2020 11:42 am บอร์ด PHP Knowledge
0
1021
อ 21 ก.ค. 2020 11:42 am โดย moo1997
การสร้าง JOptionPane ในการรับค่า
โดย moo1997 อ 21 ก.ค. 2020 10:53 am บอร์ด Microsoft Office Knowledge & line & Etc
0
81
อ 21 ก.ค. 2020 10:53 am โดย moo1997