เวลาที่เราจำเป็นต้องผ่านอะไรซักอย่างเข้าไปในโปรแกรมผ่าน 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 + yif __name__ == '__main__':
fire.Fire()
ผมสร้างฟังค์ชัน today สำหรับการถามวันที่ ฟังค์ชัน add สำหรับบวกเลข
แล้วก็ร่ายมนตร์วิเศษด้วย fire.Fire()
สำหรับข้อมูลเพิ่มเติมสามารถดูได้ที่ github ของไลบรารีได้เลย
Medium ที่ 36
ปีนี้ผมตั้งใจว่าจะเขียน Medium ให้ได้เดือนละ 4–5 Medium ครับ สิ้นปีก็จะมี 52 Medium เท่ากับจำนวนสัปดาห์ใน 1 ปีพอดี ไม่รู้จะทำได้มั้ย แต่ก็ถือเป็น Passion เล็กๆน้อยๆของผมครับ 5555
ผมเขียนบทความหลายแนวแล้วแต่ว่าอยากเขียนยังไง ถ้าอยากให้กำลังใจช่วยกด Clap ให้ซักที สองทีด้วยนะครับ :D
เจอกันบทความหน้าครับ