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?


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]

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

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.