Что такое Python первый аргумент? sys.argv [0] или sys.argv [1] - PullRequest
0 голосов
/ 19 февраля 2020

Согласно https://www.tutorialspoint.com/python/python_command_line_arguments.htm

first argument is always script name and it is also being counted in number of arguments.

, что составляет sys.argv[0]

Однако, когда я читаю другой учебник, такой как

https://www.cyberciti.biz/faq/python-command-line-arguments-argv-example/

в нем говорится, что первый аргумент sys.argv[1]

#!/usr/bin/python
__author__ = 'nixCraft'
import sys total = len(sys.argv)
cmdargs = str(sys.argv)
print ("The total numbers of args passed to the script: %d " % total)
print ("Args list: %s " % cmdargs)
# Pharsing args one by one
print ("Script name: %s" % str(sys.argv[0]))
print ("First argument: %s" % str(sys.argv[1]))
print ("Second argument: %s" % str(sys.argv[2]))

Какой из них верен и должен соблюдаться?

Это сбивает с толку особенно тех, кто только начал изучать программирование и Python.

1 Ответ

1 голос
/ 19 февраля 2020

sys.argv[0] - это имя скрипта. Технически это «первый» аргумент, но он, как правило, бесполезен для вас, если только вы не знаете имя исполняемого файла. sys.argv[1], это имя первого аргумента после имени скрипта, поэтому первый полезный аргумент.

...