Python принимает аргументы - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь разобраться с необязательными входными файлами командной строки и, основываясь на том, есть ли файл для чтения, установить значения либо того, что находится в файле, либо значений по умолчанию.Как настроить Python для проверки наличия аргумента из командной строки?У меня есть то, что ниже, но проблема в том, что когда я запускаю свою программу с «python myPythonScript.py», она все равно оценивает, как будто есть файл для чтения, когда я никогда не передавал в файл.

import sys
value1 = 0
value2 = 0


if len(sys.argv) >= 1):
    with open("test.txt", "r") as f:
    //file opens here and I take the contents and set values 1 and 2
    //based on the input 

else:
    //values are set to default values that I define here

1 Ответ

0 голосов
/ 31 мая 2018

Замените

if len(sys.argv) >= 1:

на:

if len(sys.argv) > 1:

Если вы запустите свой скрипт как python myPythonScript.py, len(sys.argv) будет 1.Это потому, что само имя программы является первым аргументом.Поэтому вам может потребоваться проверить, является ли len значением > 1, чтобы проверить наличие необязательных аргументов из командной строки.

...