แจก 5 สคริปต์ Python Automation ช่วยมือใหม่จัดการงานซ้ำซ้อน

5 Useful Python Automation Scripts for Beginners

Learning Python จะมีประโยชน์ที่สุดเมื่อคุณนำไปประยุกต์ใช้กับปัญหาจริงได้ โดยไม่จำเป็นต้องสร้างแอปพลิเคชันที่ซับซ้อน บ่อยครั้งที่สคริปต์สั้นๆ ซึ่งจัดการกับงานซ้ำซากก็เพียงพอที่จะช่วยประหยัดเวลาและเพิ่มประสิทธิภาพในการทำงานของคุณได้มหาศาล

สำหรับมือใหม่ ความท้าทายคือการระบุว่างานไหนที่ควรทำ Automation บทเรียนส่วนใหญ่มักมุ่งเน้นไปที่โปรเจกต์ขนาดใหญ่ เช่น web scraping หรือเวิร์กโฟลว์ที่ซับซ้อน แต่การเริ่มต้นจากงานขนาดเล็กที่มีขอบเขตชัดเจนจะช่วยให้คุณเข้าใจการทำงานของ Python และวิธีใช้งานจริงได้ดียิ่งขึ้น

บทความนี้รวมสคริปต์ Python 5 ตัวที่ออกแบบมาเพื่อแก้ปัญหาในชีวิตประจำวัน สคริปต์แต่ละตัวสั้นพอที่จะศึกษาได้โดยไม่รู้สึกหนักเกินไป ครอบคลุมทั้งการประมวลผลรูปภาพ การจัดการไฟล์ การจัดการข้อความ และเครื่องมือ Command-line

คุณสามารถดูสคริปต์ทั้งหมดได้บน GitHub

1. Batch Image Resizer & Watermarker

ปัญหาที่พบ (The Pain Point)

หากคุณมีรูปถ่ายหลายสิบรูปที่ต้องปรับขนาดให้เท่ากันเพื่อลงเว็บไซต์ พร้อมทั้งต้องใส่ลายน้ำที่มุมภาพ การทำทีละรูปในโปรแกรมตัดต่อคือสิ่งที่ทำให้คุณเสียเวลาทั้งเย็นไปโดยเปล่าประโยชน์

สิ่งที่สคริปต์ทำ

สคริปต์นี้จะปรับขนาดรูปภาพทุกรูปในโฟลเดอร์ตามความกว้างหรือความสูงที่คุณระบุ โดยยังคงอัตราส่วนเดิมไว้ พร้อมประทับลายน้ำข้อความในมุมที่ต้องการ โดยจะแยกไฟล์เอาต์พุตไว้ต่างหากเพื่อไม่ให้ไฟล์ต้นฉบับเสียหาย

วิธีการทำงาน

สคริปต์ใช้ Pillow Python library เพื่อเปิดและคำนวณขนาดรูปภาพใหม่ จากนั้นใช้ ImageDraw เรนเดอร์ข้อความลายน้ำลงบนเลเยอร์กึ่งโปร่งใสเพื่อรวมเข้ากับรูปภาพ หากพบไฟล์ที่ไม่รองรับระบบจะแจ้งเตือนและข้ามไปเพื่อให้การทำงานต่อเนื่องจนจบ

⏩ รับสคริปต์ image resizer & watermarker

2. Bulk File Renamer

ปัญหาที่พบ (The Pain Point)

ไฟล์ชื่อ IMG_2044.jpg หรือชุดไฟล์ดาวน์โหลดที่มีคำผิดในชื่อนั้นยากต่อการจัดระเบียบ การเปลี่ยนชื่อไฟล์ทีละไฟล์ผ่าน file browser เป็นเรื่องที่แทบทำไม่ได้จริงหากคุณมีไฟล์จำนวนมาก

สิ่งที่สคริปต์ทำ

เปลี่ยนชื่อไฟล์ยกโฟลเดอร์ตามกฎที่คุณตั้งไว้ ไม่ว่าจะเป็นการเติมชื่อลูกค้าไว้ข้างหน้า รันเลขลำดับใหม่ หรือค้นหาและแทนที่ข้อความ โดยมีโหมด dry-run เป็นค่าเริ่มต้นเพื่อให้คุณตรวจสอบความถูกต้องก่อนเริ่มเปลี่ยนชื่อจริง

วิธีการทำงาน

สคริปต์ใช้ pathlib ในการสร้างรายการไฟล์และคำนวณชื่อใหม่ และจะเรียกใช้ Path.rename() เมื่อคุณใส่พารามิเตอร์ --apply เท่านั้น นอกจากนี้ยังมีการตรวจสอบชื่อซ้ำเพื่อป้องกันการเขียนทับไฟล์โดยไม่ตั้งใจ

⏩ รับสคริปต์ bulk file renamer

3. Text File Word Frequency & Readability Analyzer

ปัญหาที่พบ (The Pain Point)

เมื่อคุณมีร่างเรียงความหรือบทสัมภาษณ์ยาวๆ การตรวจสอบด้วยตาเปล่าว่าใช้คำไหนฟุ่มเฟือยเกินไป หรือต้องใช้เวลาอ่านนานแค่ไหนนั้นเป็นเรื่องยากและได้ผลเพียงการคาดเดาเท่านั้น

สิ่งที่สคริปต์ทำ

อ่านไฟล์ plain text เพื่อรายงานจำนวนคำและประโยค ความยาวประโยคเฉลี่ย วิเคราะห์คำที่ใช้บ่อยที่สุด (โดยตัดคำเชื่อมทั่วไปออก) และประเมินเวลาที่ต้องใช้ในการอ่านจริง

วิธีการทำงาน

สคริปต์จะใช้ regular expression จัดการเครื่องหมายวรรคตอนและแยกข้อความเป็นคำๆ จากนั้นใช้ collections.Counter นับความถี่ของคำโดยกรองผ่านรายการ stop-word เพื่อให้ได้ข้อมูลที่มีประโยชน์ที่สุดส่งออกมาทางเทอร์มินัล

⏩ รับสคริปต์ word frequency & readability analyzer

4. Command-Line To-Do List Manager

ปัญหาที่พบ (The Pain Point)

กระดาษโน้ตมักจะหายบ่อยครั้ง ในขณะที่แอปจดโน้ตทั่วไปก็ดูยุ่งยากเกินไปสำหรับงานเล็กน้อย 2-3 อย่าง สำหรับคนที่ทำงานในเทอร์มินัลอยู่แล้ว การสลับหน้าจอไปมาทำให้สมาธิหลุดล่วงได้ง่าย

สิ่งที่สคริปต์ทำ

สร้างรายการสิ่งที่ต้องทำขนาดเล็กบน Command-line ที่รองรับคำสั่งเพิ่ม แสดงรายการ ทำเครื่องหมายว่าเสร็จ หรือลบทิ้ง โดยข้อมูลจะถูกเก็บไว้ในไฟล์ JSON ทำให้รายการยังคงอยู่แม้คุณจะปิดเทอร์มินัลไปแล้ว

วิธีการทำงาน

สคริปต์ใช้ argparse ร่วมกับ subparser เพื่อจัดการคำสั่ง add, list, done และ remove ข้อมูลจะถูกจัดเก็บในรูปแบบดิกชันนารี (ID, คำอธิบาย, สถานะ, วันที่) ซึ่งง่ายต่อการสำรองข้อมูลหรือตรวจสอบย้อนหลัง

⏩ รับสคริปต์ to-do list manager

5. Log File Analyzer

ปัญหาที่พบ (The Pain Point)

เมื่อระบบมีปัญหาและคำตอบอยู่ในไฟล์ log ที่มีบรรทัดเป็นหมื่น การพยายามใช้คำสั่ง grep ภายใต้ความกดดันเพื่อหาข้อผิดพลาดนั้นไม่ใช่เรื่องสนุก

สิ่งที่สคริปต์ทำ

สแกนและกรองไฟล์ log ตามระดับความรุนแรง (เช่น ERROR หรือ WARNING) คีย์เวิร์ด หรือช่วงเวลา พร้อมสรุปจำนวนบรรทัดที่ตรงตามเงื่อนไขเพื่อให้คุณเข้าถึงต้นตอของปัญหาได้ทันที

วิธีการทำงาน

สคริปต์จะอ่านไฟล์ทีละบรรทัดเพื่อประหยัดหน่วยความจำ และใช้ regular expression ดึง timestamp และระดับความรุนแรงออกมา คุณสามารถระบุเงื่อนไขแบบเจาะจงได้ เช่น "หาบรรทัด ERROR ที่มีคำว่า timeout จากเมื่อวาน" สคริปต์จะสรุปผลรวมก่อนแสดงรายละเอียดบรรทัดที่เกี่ยวข้องทั้งหมด

⏩ รับสคริปต์ log file analyzer

บทสรุป

สคริปต์เหล่านี้คือจุดเริ่มต้นที่ดีในการฝึกฝนทักษะการเขียนโปรแกรมเพื่อใช้งานจริง ดังนี้:

ชื่อสคริปต์หมวดหมู่วัตถุประสงค์กรณีการใช้งานที่ดีที่สุด
Image Resizer & Watermarkerรูปภาพปรับขนาดและใส่ลายน้ำเป็นชุดเตรียมรูปภาพลงเว็บไซต์หรือฟอร์ม
Bulk File Renamerไฟล์เปลี่ยนชื่อไฟล์จำนวนมากจัดระเบียบชื่อไฟล์ที่รกรุงรัง
Word Frequency & Readability Analyzerข้อความสรุปการใช้คำและเวลาอ่านตรวจร่างบทความหรือบทสัมภาษณ์
To-Do List ManagerCommand-lineติดตามงานจากเทอร์มินัลจัดการงานโดยไม่ต้องออกจากหน้าจอหลัก
Log File Analyzerข้อความ/Command-lineกรองและสรุปไฟล์ logตามหาต้นตอของปัญหาในไฟล์ขนาดใหญ่

ขอให้สนุกกับการทำ Automation!

Bala Priya เป็นนักพัฒนาและนักเขียนด้านเทคนิคจากอินเดีย เธอเชี่ยวชาญด้าน Python, Data Science และ AI โดยมุ่งเน้นการถ่ายทอดเนื้อหาที่ซับซ้อนให้เข้าใจง่ายและนำไปใช้งานได้จริง

Source: KDnuggets
ดูแลงานแปลและเรียบเรียงโดย SirilukP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร