Python:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ
วิธีการ:
โดยใช้โมดูล sys
ของ Python, คุณสามารถจับอาร์กิวเมนต์บน command line ได้อย่างง่ายดาย นี่คือวิธีการเข้าถึงมันในสคริปต์ของคุณ:
import sys
# อาร์กิวเมนต์ตัวแรกเป็นชื่อสคริปต์เสมอ, ดังนั้นเราจะข้ามมัน
arguments = sys.argv[1:]
# ทำบางอย่างกับอาร์กิวเมนต์
print("คุณได้ป้อน:", arguments)
เรียกใช้สคริปต์ของคุณอย่างนี้:
python your_script.py these are your arguments
ตัวอย่างผลลัพธ์:
คุณได้ป้อน: ['these', 'are', 'your', 'arguments']
ลงลึก
เมื่อก่อน, ผู้คนโต้ตอบกับคอมพิวเตอร์ผ่าน command lines นั่นเป็นเหตุผลที่ภาษาส่วนใหญ่รวมถึง Python มีวิธีอ่านอาร์กิวเมนต์บน command line นี่คือวิธีที่สคริปต์ถูกควบคุมก่อนที่ GUIs จะเกิดขึ้น
sys.argv
ของ Python นั้นมีประโยชน์, แต่สำหรับการแยกคำสั่งยิ่งกว่านั้น, มี argparse
argparse
เป็นโมดูลสำหรับเมื่อคุณต้องการมากกว่าพื้นฐาน - เช่นเมื่ออาร์กิวเมนต์ของคุณต้องการชื่อ, ประเภท, หรือค่าเริ่มต้น
ตอนนี้, sys.argv
เป็นแค่ลิสต์ ทุกอย่างที่คุณผ่านไปเป็นสตริง, ไม่ว่าอะไรก็ตาม ไม่มีวิธีเวทมนตร์; ถ้าคุณต้องการตัวเลข, คุณต้องแปลงมันเองด้วยอะไรสักอย่างเช่น int()
หรือ float()
ดูเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ sys.argv
และ argparse
, ดูได้จากเอกสารของ Python:
sys.argv
: https://docs.python.org/3/library/sys.html#sys.argv- บทแนะนำ
argparse
: https://docs.python.org/3/howto/argparse.html
และถ้าคุณต้องการดำดิ่งลึกลงไปอีกในอินเตอร์เฟซบรรทัดคำสั่ง:
- Click: https://click.palletsprojects.com/en/7.x/
- docopt: http://docopt.org/
สนุกกับการเขียนโค้ด!