Я хочу сделать скрипт в Python, который будет работать с моим ARGV, но когда я пытаюсь этот простой, если-Элиф, он не возвращает мне ничегоPython, если-Элиф ARGV возвращение
import sys
if len(sys.argv) == 1:
add = str(sys.argv[1])
print add
elif len(sys.argv) == 2:
add = str(sys.argv[1])
add2 = str(sys.argv[2])
print add + add2
elif len(sys.argv) > 4:
print "too many"
Может кто-нибудь объяснить мне, почему, когда я бегу сценарий как это:
$ python test.py 5 6
и результат ничего, только если я бегу это один
$ python test.py 5 6 7 8
результатов слишком много
Если вы печатаете 'sys.argv', причина будет становятся очевидными. – vaultah
также у вас нет случая для 'len (sys.argv) == 3', поэтому при запуске' python test.py 5 6' вы ничего не получаете – smead
Также имейте в виду, что 'if len (sys. argv) == 1: ', а затем доступ к' add = str (sys.argv [1]) 'будет поднять IndexError. Это должно быть 'sys.argv [0]'. – Xiflado