Jan Martinek wrote: > Hynek Beran wrote: >> Ahoj, >> mám script, který používá různé parametry. >> např. >> >> pyBackup.py --cfg=celyVyvoj.cfg >> >> ve scriptu mám : >> cfgFile = sys.argv[1].lstrip('--cfg=') >> >> očekával jsem, že mi takto napsaný řádek vrátí název souboru celyVyvoj.cfg . >> Uřízne to --cfg= >> >> Ale ono mi to vrátí elyVyvoj.cfg (odmaže i c znázvu souboru). Když tam >> zadám cokoli jiného do parametru , co nezačíná na c, tak to projde ... >> Pochopil jsem špatně funkce ? >> >> >> Díky za pomoc. >> >> -- >> Hynek BERAN >> > > Je to tím, že parametrem metody lstrip je řetězec obsahující seznam > znaků, které se mají uříznout. Např. > > >>> 'babalezekominem'.lstrip('ab') > 'lezekominem' > > Doporučuji tuto cestu opustit a použít modul OptionParser. Umí zacházet > s parametry, bere v úvahu jejich datové typy, je možné mu nastavit > defaultní hodnoty, vypisuje help a další užitečné věci, které by jinak > člověk musel dost složitě psát. > > Jan Martinek
Ještě doplním ukázku: import sys from optparse import OptionParser usage = "usage: %prog [--cfg configfile]" parser = OptionParser(usage, version="%prog version 0.1") parser.add_option("-c", "--cfg", action = "store", type = "string", default = 'celyVyvoj.cfg', dest='cfgFile', help='Configuration file') (options, args) = parser.parse_args() print options.cfgFile Zkus to pustit s parametrem --help a uvidíš sám. Jan Martinek P.S. Ta konference je nějaká pomalá - napsal jsem svůj příspěvek a až teprve potom se ukázalo, že jdu s křížkem po funuse ;-) _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python