J'écris un script python que j'aimerais pouvoir appeler depuis la ligne de commande et importer en tant que fonction de bibliothèque. Idéalement, les options de ligne de commande et la fonction doivent utiliser le même ensemble de valeurs par défaut. Quel est le meilleur moyen de me permettre de réutiliser un seul ensemble de valeurs par défaut aux deux endroits?Python optparse par défaut vs fonction par défaut
Voici le code actuel avec des valeurs par défaut en double.
from optparse import OptionParser
def do_stuff(opt1="a", opt2="b", opt3="c"):
print opt1, opt2, opt3
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("--opt1", default="a")
parser.add_option("--opt2", default="b")
parser.add_option("--opt3", default="c")
#parser.set_defaults(opt1="a")
options, args = parser.parse_args()
do_stuff(*args, **vars(options))