Apakah mungkin untuk meneruskan argumen ke skrip Python?

17

Saya tahu cara meneruskan argumen ke skrip shell. Argumen ini dideklarasikan dalam AWS datapipeline dan diteruskan. Seperti inilah tampilan skrip shell:

firstarg=$1
secondarg=$2

Bagaimana saya melakukan ini dengan Python? Apakah sama persis?

hanya coding
sumber
Sudahkah Anda mencoba mencari sebelum bertanya? Mencari google untuk meneruskan argumen ke skrip python membawa semua informasi yang Anda butuhkan. Sebagai tautan ke-4 saya mendapat pertanyaan Command Line Arguments In Python from Stackoverflow.
Piotr Dobrogost
3
Mencari google untuk meneruskan argumen ke skrip python membawa posting ini .
Davide Andrea

Jawaban:

30

Ini bekerja untuk saya:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
Peter Gerhat
sumber
Yap, itu berhasil. Untuk beberapa alasan, pengindeksan tidak dimulai pada 0. Jadi sys.argv[0]sama dengan tidak ada apa
coding
14
argv[0]harus menjadi nama skrip
Peter Gerhat
3

Anda dapat menggunakan argv dari sys

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

Anda dapat benar-benar meletakkan sejumlah argumen di baris perintah. argv akan menjadi daftar dengan argumen. Dengan demikian dapat juga disebut sebagai arg1 = sys.argv [0] arg2 = sys.argv [1]. . .

Ingat juga bahwa sys.argv [0] hanyalah nama dari program python Anda. Selain itu, fungsi "eval" dan "exec" bagus ketika Anda menggunakan input baris perintah. Biasanya, semua yang ada di baris perintah diartikan sebagai string. Jadi, jika Anda ingin memberikan formula di baris perintah Anda menggunakan eval ().

>>> x = 1
>>> print eval('x+1')
2
F. Ha
sumber
0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])
ArunSK
sumber
1
Anda harus memasukkan ini di sample.py dan memanggil dengan parameter.
ArunSK
ArunSK, Anda dapat mengedit jawaban Anda untuk memasukkan komentar Anda. :)
James Skemp