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