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


17

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

firstarg=$1
secondarg=$2

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


Вы пытались искать, прежде чем спросить? Поиск в 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])

1
Вы должны ввести это в sample.py и вызвать с параметром.
Арунск

ArunSK, вы можете отредактировать свой ответ, включив свой комментарий. :)
Джеймс Скемп
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.