Python Command-Line argumenten

Python Command-Line argumenten

Met command-line argumenten kan je data van buitenaf in je script krijgen. Dit werk voor zowel Linux als Windows systemen.

#!/usr/bin/python

import sys

print ('Number of arguments:' + str(len(sys.argv)) + 'arguments.')
print ('Argument List:' + str(sys.argv))
input()

Door bij een Windows systeem woorden (argumenten) achter de bestandsnaam te typen in verkenner, als volgt:

C:\Python34\argumenten.py appel peer banaan

krijg je elke keer een nieuwe uitkomst van je script.

Aantal argumenten: 4 argumenten.
Argumenten Lijst: ['C:/Python34/test.py','appel','peer','banaan']

Met “getopt” haal je argumenten uit de command line die starten met “-“. Zo maak je bijvoorbeeld een help functie met “-h”.

#!/usr/bin/python

import sys, getopt

def main(argv):
    aVar = ''
    bVar = ''
    try:
        opts, args = getopt.getopt(argv,"a:b:",["aVar=","bVar="])
    except getopt.GetoptError:
        print ('test.py -a <getal a> -b <getal b>')
        input()
    for opt, arg in opts:
        if opt == '-h':
            print ('test.py -i <getal a> -o <getal b>')
            input()
        elif opt in ("-a", "--aVar"):
            aVar = arg
        elif opt in ("-b", "--bVar"):
            bVar = arg
    print (str(aVar) + ' + ' + str(bVar) + ' = ' + str(int(aVar) + int(bVar)))
    input()
   
if __name__ == "__main__":
    main(sys.argv[1:])

Het bovenstaande script zoek naar de argumenten “-a” en “-b”.

Zowel

C:\Python34\test.py -b 32 -a 18

als

C:\Python34\test.py -a 18 -b 32

geven hierop als uitkomst

18 + 32 = 50

Geef een reactie