Piszę skrypt Pythona, który chciałbym móc wywoływać zarówno z linii poleceń, jak i importować jako funkcję biblioteki. Idealnie opcje wiersza poleceń i funkcja powinny używać tego samego zestawu wartości domyślnych. Jaki jest najlepszy sposób, aby umożliwić ponowne użycie pojedynczego zestawu wartości domyślnych w obu miejscach?Python optparse domyślnie kontra domyślne funkcje
Oto aktualny kod z podwójnymi wartościami domyślnymi.
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))