getopt – parancssori paraméterek

Ezzel a modullal a parancssori paraméterek feldolgozását végezhetjük el egyszerűen.

Parancssori paraméterek feldolgozása

# File: getopt_parancssori_parameterek_hasznalata.py import getopt import sys # a sys.argv -ba kerulnek a parancssori parameterek. # most ugy csinalunk, mintha a program kapott volna paramtereket! # parancssori hivas szimulacioja: sys.argv = ["myscript.py", "-l", "-d", "konyvtarnev", "filenev"] # opciok feldolgozasa: figyelt_karakterek = "ld:" # csak ezeket a parametereket kell azonositani. # d -hez parameter tartozik, ezert : koveti! opciok, parameterek = getopt.getopt(sys.argv[1:], figyelt_karakterek) print "opciok es ha van, hozzatartozo parameterek:", opciok print "tovabbi, opciokhoz nem tartozo parameterek:", parameterek long = 0 directory = None for opcio, opcio_ertek in opciok: if opcio == "-l": long = 1 elif opcio == "-d": directory = opcio_ertek print "long", "=", long print "directory", "=", directory print "arguments", "=", parameterek
# File: getopt_parancssori_parameterek_hasznalata.out

opciok es ha van, hozzatartozo parameterek: [('-l', ''), ('-d', 'konyv
tarnev')]
tovabbi, opciokhoz nem tartozo parameterek: ['filenev']
long = 1
directory = konyvtarnev
arguments = ['filenev']

Hosszú parancssori paraméterek feldolgozása

Hosszú paraméterek kereséséhez egy harmadik paramétert is át kell adni a getopt()-nak, amelyben felsoroljuk a figyelendő paramétereket. Ha itt valamelyik név = jelre végződik, az adott paraméterhez egy értéket is meg kell adni.

# File: getopt_hosszu_parameterek_hasznalata.py import getopt import sys # a sys.argv -ba kerulnek a parancssori parameterek. # most ugy csinalunk, mintha a program kapott volna paramtereket! sys.argv = ["myscript.py", "--echo", "--printer", "lp01", "uzenet"] # opciok feldolgozasa: figyelt_karakterek = "ep:" # csak ezeket a parametereket kell azonositani. # p -hez parameter tartozik, ezert : koveti! opciok, parameterek = getopt.getopt(sys.argv[1:], figyelt_karakterek, ["echo", "printer="]) print "opciok es ha van, hozzatartozo parameterek:", opciok print "tovabbi, opciokhoz nem tartozo parameterek:", parameterek echo = 0 printer = None for opcio, opcio_ertek in opciok: if opcio in ("-e", "--echo"): echo = 1 elif opcio in ("-p", "--printer"): printer = opcio_ertek print "echo", "=", echo print "printer", "=", printer print "arguments", "=", parameterek
# File: getopt_hosszu_parameterek_hasznalata.out

opciok es ha van, hozzatartozo parameterek: [('--echo', ''), ('--print
er', 'lp01')]
tovabbi, opciokhoz nem tartozo parameterek: ['uzenet']
echo = 1
printer = lp01
arguments = ['uzenet']

Post Comments

You must be logged in to post a comment.