Можно ли передать аргументы в скрипт Python?

17

Я знаю, как передать аргументы в сценарий оболочки. Эти аргументы объявлены в канале данных AWS и переданы. Вот как должен выглядеть скрипт оболочки:

firstarg=$1
secondarg=$2

Как мне сделать это в Python? Это точно так же?

simplycoding
источник
Вы пытались искать, прежде чем спросить? Поиск в Google для передачи аргументов скрипту Python приносит всю необходимую вам информацию. В качестве 4-й ссылки я получил вопрос « Аргументы командной строки в Python» от Stackoverflow.
Петр Доброгост,
3
Поиск в Google для передачи аргументов скрипту Python приносит этот пост.
Давиде Андреа

Ответы:

31

Это сработало для меня:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
Питер Герхат
источник
Да, это работает. По какой-то причине индексация не начинается с 0. Так sys.argv[0]что ничего не значит
кодирование
14
argv[0]должно быть имя сценария
Питер Герхат
3

Вы можете использовать argv из sys

from sys import argv
arg1, arg2, arg3, ... = argv

Вы можете фактически ввести произвольное количество аргументов в командной строке. argv будет списком с аргументами. Таким образом, его также можно назвать arg1 = sys.argv [0] arg2 = sys.argv [1]. , ,

Помните также, что sys.argv [0] - это просто название вашей программы на Python. Кроме того, функции «eval» и «exec» удобны, когда вы используете ввод из командной строки. Обычно все в командной строке интерпретируется как строка. Итак, если вы хотите задать формулу в командной строке, вы используете eval ().

>>> x = 1
>>> print eval('x+1')
2
Ф. Ха
источник
0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])
ArunSK
источник
1
Вы должны ввести это в sample.py и вызвать с параметром.
Арунск
ArunSK, вы можете отредактировать свой ответ, включив свой комментарий. :)
Джеймс Скемп