שלום,
יש לי שאלה בנוגע לשימוש ב sys.argv.
אומנם אראה את הדוגמא בשימוש ספריית boto3 אך נראה לי שהשימוש רלוונטי לכל.
import boto3
response = client.delete_message(
QueueUrl='URL',
ReceiptHandle='LONG ALPHA NUMRIC string'
)
עד כאן הכל עובד מושלם.
ברצוני להפעיל את הפקודה בכך שאריץ את קובץ הסקריפט עם משתנה חיצוני שאתן בשורת הפקודה לדוגמא:
script.py 123abc456
לשם כך חשבתי להשתמש בsys.argv, לכן הסקריפט כפי שאני מבין זאת יראה כך:
import sys
import boto3
rh= sys.argv
response = client.delete_message(
QueueUrl='URL',
ReceiptHandle='${rh}'
)
האם הסינטקס נכון?
ניסיתי אפשרויות רבות כגון
ReceiptHandle='rh'
(ReceiptHandle='(rh'
ReceiptHandle=rh
אך למרות אני מקבל הודעות שגיאה שהסינטקס לא נכון, כגון:
type: <type 'list'>, valid types: <type 'basestring'>
-
botocore.errorfactory.ReceiptHandleIsInvalid: An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle is invali
האם השימוש בsys.argv נכון ?
תודה