Czy można przekazać argumenty do skryptu Python?


17

Wiem, jak przekazywać argumenty do skryptu powłoki. Argumenty te są deklarowane w linii danych AWS i przekazywane. Tak wyglądałby skrypt powłoki:

firstarg=$1
secondarg=$2

Jak to zrobić w Pythonie? Czy to dokładnie to samo?


Czy próbowałeś szukać, zanim zapytałeś? Przeszukiwanie google w celu przekazania argumentów do skryptu python zapewnia wszystkie potrzebne informacje. Jako czwarty link dostałem pytanie Argumenty wiersza poleceń w Pythonie z Stackoverflow.
Piotr Dobrogost

3
Przeszukiwanie google pod kątem przekazywania argumentów do skryptu python przynosi ten post.
Davide Andrea,

Odpowiedzi:


31

To działało dla mnie:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

Tak, to działa. Z jakiegoś powodu indeksowanie nie zaczyna się od 0. Więc sys.argv[0]jest równe nic
uproszczony kod

14
argv[0]powinna być nazwa skryptu
Peter Gerhat,

3

Możesz użyć argv z sys

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

W wierszu komend można w rzeczywistości podać liczbę argumentów niepoprawną. argv będzie listą z argumentami. Dlatego można go również wywołać jako arg1 = sys.argv [0] arg2 = sys.argv [1]. . .

Pamiętaj również, że sys.argv [0] to po prostu nazwa twojego programu python. Ponadto funkcje „eval” i „exec” są przydatne, gdy używasz wprowadzania z wiersza poleceń. Zwykle wszystko w wierszu poleceń jest interpretowane jako ciąg znaków. Tak więc, jeśli chcesz podać formułę w wierszu poleceń, użyj eval ().

>>> x = 1
>>> print eval('x+1')
2

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
Powinieneś wpisać to w sample.py i wywołać z parametrem.
ArunSK

ArunSK, możesz edytować swoją odpowiedź, aby dodać komentarz. :)
James Skemp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.