2016-05-12 6 views
-1

Ich habe vor kurzem begonnen sys.argv in Python, und ich versuche, das Folgende:System-Argumente Fehler in Python

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

Dies nimmt die ersten drei Argumente, die nach dem Skript. Ich möchte eine Fehlermeldung hinzufügen, die angibt, welche Argumente ein Benutzer bereitstellen sollte und was es bedeutet. Etwas wie folgt aus:

Script Abgebrochen: Folgende Argumente erforderlich: 1. Input Dateiname 2. Max. Zeilen, die gelesen werden sollen 3. Max. Zeitschritt.

+2

Warum verwenden Sie Scheiben? Warum nicht einfach 'filename = sys.argv [0]'? – Barmar

+1

Beachten Sie auch, dass 'sys.argv [0]' der Name des Skripts ist, das erste Argument ist in 'sys.argv [1]'. – Barmar

+0

Verwenden Sie 'len (sys.argv)', um herauszufinden, wie viele Argumente angegeben wurden. Wenn sie nicht genügend liefern, drucken Sie die Fehlermeldung. – Barmar

Antwort

1

Sie können len(sys.argv) verwenden, um zu überprüfen und die Nachricht natürlich zu geben. Aber eine pythonic Weg, dies zu tun, ist mit try Block

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

Schließlich möchte ich Ihnen vorschlagen, ein umfassenderes Modul wie optparse oder Click zu verwenden.