ארגומנטים לפקודת Python בשורת הפקודה

ארגומנטים של שורת הפקודה בפייתון הם פרמטרי קלט שמועברים לתסריט בעת ביצועו. כמעט כל שפת תכנות מספקת תמיכה בארגומנטים של שורת הפקודה. יש גם אפשרויות לשורת הפקודה להגדיר אפשרויות ספציפיות לתכנית.

ארגומנטים של שורת הפקודה בפייתון

ישנן הרבה אפשרויות לקרוא ארגומנטים של שורת הפקודה בפייתון. שלושת האפשרויות הנפוצות ביותר הן:

  1. מודול sys של פייתון
  2. מודול getopt של פייתון
  3. מודול argparse של פייתון

בואו נצפה בתכנית פשוטה כדי ללמוד איך לקרוא ולהשתמש בארגומנטים של שורת הפקודה של פייתון.

מודול sys של פייתון

המודול sys של פייתון אחסון את ארגומנטי שורת הפקודה ברשימה, אנו יכולים לגשת אליה על ידי sys.argv. זהו אופן פשוט ושימושי מאוד לקריאת ארגומנטים של שורת הפקודה כמחרוזת. בואו נצפה בדוגמה פשוטה כדי לקרוא ולהדפיס ארגומנטים של שורת הפקודה באמצעות מודול sys של פייתון.

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

הדימוי מציג את תוצאת הרצת הדוגמה של התוכנית לעיל. ישנן עוד הרבה פונקציות שימושיות במודול sys, קרא אותן בפרט ב- מודול sys של פייתון.

מודול getopt של פייתון

מודול getopt של פייתון דומה מאוד לפונקציה C getopt() לניתוח פרמטרים משורת הפקודה. מודול getopt של פייתון שימושי בניתוח פרמטרים משורת הפקודה כאשר נרצה מהמשתמש להזין גם אפשרויות מסוימות. בואו נסתכל על דוגמה פשוטה כדי להבין זאת.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # הדפסת הודעה או ביצוע פעולה מועילה
    print('Something went wrong!')
    sys.exit(2)

הדוגמה לעיל היא פשוטה מאוד, אך באפשרותנו להרחיבה בקלות כדי לבצע דברים שונים. למשל, אם נמסור את האפשרות help, אז נדפיס הודעה ידידותית למשתמש וניצוא. במקרה כזה, המודול getopt ינתח את ערך האפשרות וימפה אותם. הדימוי למטה מציג רץ דוגמתי. כדי ללמוד עוד, קרא את מודול getopt של פייתון.

מודול argparse של פייתון

פייתון argparse הוא הדרך המועדפת לפרק ארגומנטים משורת הפקודה. הוא מספק מגוון רב של אפשרויות כמו ארגומנטים מיקום, ערך ברירת מחדל עבור ארגומנטים, הודעת עזר, קביעת סוג נתונים לארגומנט ועוד. בצורה הפשוטה ביותר, אנו יכולים להשתמש בו כמו שמוצג למטה.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

למטה הפלט מהרצה מהירה של הסקריפט שלמעלה. מודול argparse של פייתון מספק המון יכולות, כדאי לך לקרוא עליהן ב הדרכון להבנה ברורה. זהו כל מה שיש לנו לגבי אפשרויות שונות לקריאה ולפרק ארגומנטים משורת הפקודה בפייתון, עליך להחליט איזו אחת מתוך האפשרויות המסוימות היא המתאימה לדרישותיך הספציפיות ולאחר מכן להשתמש בה. הפניות:

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments