Как правило, первым аргументом исполняемого файла командной строки является имя сценария, а остальные — ожидаемые аргументы.
Здесь argv
— это список, который должен содержать два значения: имя сценария и аргумент. Используя нотацию распаковки Python, вы можете написать
script = argv[0]
filename = argv[1]
as
script, filename = argv
а также выдает ошибки, если есть неожиданное количество аргументов (например, один или три). Это может быть хорошей идеей, в зависимости от кода, потому что это также гарантирует отсутствие неожиданных аргументов.
Однако следующий код не приведет к тому, что filename
действительно будет содержать имя файла:
filename = argv
Это потому, что filename
теперь является списком аргументов. Проиллюстрировать:
script, filename = argv
print("Script:", script) # Prints script name
print("Filename:", filename) # Prints the first argument
filename = argv
print("Filname:", filename) # Prints something like ["my-script.py", "my-file.txt"]
person
Waleed Khan
schedule
02.12.2012
from sys
. Может ли кто-нибудь объяснить это мне? Я новичок в питоне. - person   schedule 10.07.2014script
выдает ошибку TypeError: приведение к Unicode: нужна строка или буфер, список найден - person Varun Moghe   schedule 10.06.2015