機能:CLIプログラムの汎用機能支援
必要モジュール: builtins, importlib, getpass, traceback, pygments
機能: global変数の代わりに変数を保持し、iniファイルへの読み書きを支援
# tkApplicationのimport
from tklib.tkapplication import tkApplication
# tkApplicationのインスタンス作成
app = tkApplication()
#
設定ファイルに保存するパラメータを保持するtkParamsのインスタンス作成
app.cparams = tkParams()
#
コンソール出力を保存するlogファイル名を作る
cparams.logfile = app.replace_path(cparams.infile, template =
["{dirname}", "{filebody}-out.txt"])
#
コンソール出力をlogファイル名とコンソールにredirectする
app.redirect(targets = ["stdout", cparams.logfile], mode = 'w')
# パラメータファイル名を作る
cparams.parameterfile = app.replace_path(cparams.infile, template = ["{dirname}", "{filebody}.in"])
# パラメータのiniファイル形式での保存
cparams.save_parameters(cparams.parameter_file, section = 'Parameters', sort_by_keys = False, update_commandline = False, IsPrint = False)
# メッセージを出してプログラムを終了
# usageを設定すると、usage()関数を実行
# pause = Trueで、終了時に input() で入力待ちにする
app.terminate("Error in main: Invalide mode [{}]".format(mode), usage = lambda: usage(app), pause = True)
機能:汎用機能支援
必要モジュール: os, sys, platform, shutil, datetime, glob, re, unicodedata, numpy, matplotlib
# tkutilsのimport
from tklib.utils import getarg, getintarg, getfloatarg
#
コマンドライン引数の最初の値を文字列として取得。引数が与えられていない場合は
defvalを返す
cparams.mode = getarg( 1, defval = cparams.mode)
#
コマンドライン引数の7つ目の値を整数型として取得。引数が与えられていない場合は
defvalを返す
cparams.maxiter = getintarg (7, defval = cparams.maxiter)
#
コマンドライン引数の8つ目の値を浮動小数点型として取得。引数が与えられていない場合は
defvalを返す
cparams.tol = getfloatarg(8, defval = cparams.tol)