2016-05-12 2 views
-1

Я недавно начали использовать sys.argv в Python, и я пытаюсь следующей вещь:аргументов Системных ошибок в питоне

import sys 
[filename]=sys.argv[0:1] 
[NumoflinesToread]=sys.argv[1:2] 
[tmax]=sys.argv[2:3] 

Это занимает первые три аргумента после сценария. Я хочу добавить сообщение об ошибке, в котором указывается, какие аргументы пользователь должен предоставить и что это значит. Что-то вроде следующего:

Script Отменено: После аргументов требуется: 1. Введите Имя файла 2. Макс. Линии для чтения 3. Макс. шаг времени.

+2

Почему вы используете ломтики? Почему не просто 'filename = sys.argv [0]'? – Barmar

+1

Обратите внимание, что 'sys.argv [0]' - это имя скрипта, первый аргумент находится в 'sys.argv [1]'. – Barmar

+0

Используйте 'len (sys.argv)', чтобы узнать, сколько аргументов они поставили. Если они недостаточно поставляются, напечатайте сообщение об ошибке. – Barmar

ответ

1

Вы можете использовать len(sys.argv), чтобы проверить и дать сообщение, конечно. Но более вещий способ сделать это с помощью try блок

import sys 
try 
    filename=sys.argv[0] 
    NumoflinesToread=sys.argv[1] 
    tmax=sys.argv[2] 
except IndexError: 
    print Your_error_message 

Наконец, я хотел бы предложить вам использовать более комплексный модуль, как optparse или Click.

Смежные вопросы