コマンドラインから呼び出してライブラリ関数としてインポートできるようにしたいpythonスクリプトを書いています。理想的には、コマンド ライン オプションと関数は同じ既定値のセットを使用する必要があります。単一のデフォルト セットを両方の場所で再利用できるようにする最善の方法は何ですか?
デフォルトが重複している現在のコードを次に示します。
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))