Pillow library กับการ เปลี่ยนนามสกุล img ทีเดียวหลายๆ file

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

benzas00123
PHP Super Member
PHP Super Member
โพสต์: 244
ลงทะเบียนเมื่อ: 06/01/2020 9:58 am

Pillow library กับการ เปลี่ยนนามสกุล img ทีเดียวหลายๆ file

โพสต์ที่ยังไม่ได้อ่าน โดย benzas00123 »

โดยครั้งนี้เราจะมาลองการใช้ module Pillow ในการเขียน เรียกไฟล์ img เฉพาะนามสกุล .jpg/jpeg หรือนามสกุลอื่นๆ ขึ้นมาเพื่อที่เราจะทำการปรับเปลี่ยนที่อยู่ในการบันทึกและ เปลี่ยนนามสกุล file img ทีละหลายๆ file โดยใช้ภาษา python

ตำแหน่งของ ไฟล์ต่างๆ
Python Knowledge-1.png
Python Knowledge-1.png (28.74 KiB) Viewed 767 times
1. ขั้นแรกเราจะเริ่มจากการ import module os กับ pillow

โค้ด: เลือกทั้งหมด

from PIL import Image
import os
2. กำหนดตัวแปร เพื่อที่จะเก็บ Folder ที่อยู่ของ file ภาพ

โค้ด: เลือกทั้งหมด

parth = "images/"
3. ทำการ loop เพื่อเก็บชื่อของไฟล์ img โดยกำหนดให้ว่าจะเก็บเฉพาะ นามสกุล .jpeg เท่านั้น

โค้ด: เลือกทั้งหมด

for i in os.listdir ( parth ):
    if i.endswith ( '.jpeg' ):
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (9.01 KiB) Viewed 767 times
4. จากนั้นทำการเรียก รูปภาพ ขึ้นมาเพื่อที่เราจะทำการจัดการกับรูปภาพ โดยเราจะทำการ split ชื่อ รูปภาพกับนามสกุลออกจากกัน

โค้ด: เลือกทั้งหมด

        f = Image.open(parth + i)
        p, p1 = os.path.splitext ( i )
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (12.36 KiB) Viewed 767 times
5. ทำการ save โดยกำหนดตำแหน่ง และ นามสกุลโดยใช้ .format

โค้ด: เลือกทั้งหมด

        f.save("Testimg/{}.png".format(p))
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (7.51 KiB) Viewed 767 times
full code

โค้ด: เลือกทั้งหมด

from PIL import Image
import os


parth = "images/"
for i in os.listdir ( parth ):
    if i.endswith ( '.jpeg' ):
        f = Image.open(parth + i)
        p, p1 = os.path.splitext ( i )
        f.save("Testimg/{}.png".format(p))
อ้างอิง
https://pillow.readthedocs.io/en/stable/reference/index.html
https://note.nkmk.me/en/python-pillow-basic/
https://www.pythonforbeginners.com/gui/how-to-use-pillow
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 44