Estoy escribiendo un script de python que me gustaría poder llamar desde la línea de comando e importar como una función de biblioteca. Idealmente, las opciones de línea de comando y la función deberían usar el mismo conjunto de valores predeterminados. ¿Cuál es la mejor manera de permitirme reutilizar un único conjunto de valores predeterminados en ambos lugares?Python optparse default de los valores por defecto de función
Aquí está el código actual con los valores predeterminados duplicados.
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))