Python : สร้าง Command Line ด้วย Fire

เวลาที่เราจำเป็นต้องผ่านอะไรซักอย่างเข้าไปในโปรแกรมผ่าน Command Line เราก็จะใช้ argparse กันใช่มั้ยครับ

แน่นอนว่าถ้าทำไม่ค่อยเยอะมันก็คงไม่หนักหนาอะไรมากหรอก แต่ถ้าโปรแกรมเรามี args ให้ผ่านหลายอย่าง ความเจ็บปวดก็จะเริ่มหนักขึ้นเรื่อยๆเพราะมันไม่ได้เขียนง่ายๆเลย

แต่จริงๆแล้วเรามีตัวช่วยที่จะมาช่วยเรา heavy-lifting งานพวกนี้ครับ สิ่งที่มาช่วยนี้ก็คือ fire นั่นเอง


ก่อนอื่นก็ต้องติดตั้งมันก่อน

pip install fire

ผมมีแพลนว่าจะทำโปรแกรมง่ายๆที่สามารถจะตอบคำถามเราได้ 2 อย่างคือ วันนี้วันที่เท่าไร แล้วก็บวกเลขง่ายๆ ผ่าน cmd

สมมติผมพิมพ์ไปว่า

python .\testfire.py today

มันก็จะตอบกลับมาได้ว่าวันนี้วันที่เท่าไร

หรือถ้าผมพิมพ์

python .\testfire.py add --x 5 --y 4

มันก็จะตอบกลับมาว่า 9 ก็คือผลบวกของ 5 กับ 4

ซึ่งโปรแกรมอย่างนี้ถ้าเราใช้ argparse ทำจะเป็นอะไรที่เจ็บปวดมากๆครับ แต่ถ้าใช้ fire สิ่งที่ทำก็มีแค่นี้

import fire, datetimedef today():
d = datetime.datetime.now().day
m = datetime.datetime.now().month
y = datetime.datetime.now().year
return f'{m}/{d}/{y}'
def add(x, y):
return x + y
if __name__ == '__main__':
fire.Fire()

ผมสร้างฟังค์ชัน today สำหรับการถามวันที่ ฟังค์ชัน add สำหรับบวกเลข

แล้วก็ร่ายมนตร์วิเศษด้วย fire.Fire()

ผลลัพท์

สำหรับข้อมูลเพิ่มเติมสามารถดูได้ที่ github ของไลบรารีได้เลย

Medium ที่ 36

ปีนี้ผมตั้งใจว่าจะเขียน Medium ให้ได้เดือนละ 4–5 Medium ครับ สิ้นปีก็จะมี 52 Medium เท่ากับจำนวนสัปดาห์ใน 1 ปีพอดี ไม่รู้จะทำได้มั้ย แต่ก็ถือเป็น Passion เล็กๆน้อยๆของผมครับ 5555

ผมเขียนบทความหลายแนวแล้วแต่ว่าอยากเขียนยังไง ถ้าอยากให้กำลังใจช่วยกด Clap ให้ซักที สองทีด้วยนะครับ :D

เจอกันบทความหน้าครับ

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade