######################################################################## とある文以降のデータを取得する ( retrieveData__afterStatement.py ) ######################################################################## ========================================================= やりたいこと ========================================================= * :blue:`定められた様式で出力結果がテキスト出力` された際、そこからデータを抜き出したい. * 様式が決まっているため、データ格納位置が、 :blue:`”とあるキーフレーズ”` からわかるとする. * :blue:`正規表現で判別` し、一致する範囲のデータを抜き取る. | ========================================================= 使い方と引数について ========================================================= --------------------------------------------------------- 使い方 --------------------------------------------------------- * 関数をimportし、以下引数を与える. :: imort nkUtilities.retrieveData__afterStatement as ras inpFile = "dat/sample.inp" expr_from = r"#\s*e-lower" expr_to = r"^\s*$" ret = ras.retrieveData__afterStatement( inpFile=inpFile, expr_from=expr_from, expr_to=expr_to ) | --------------------------------------------------------- 引数 --------------------------------------------------------- .. csv-table:: :header: "Items", "Type", "Description" :widths: 10, 10, 30 :width: 700px "inpFile", "string", "入力ファイル名" "outFile", "string", "出力ファイル名" "expr_from", "(raw) string", "データ開始位置( の1行前:@sendline=1 )の正規表現." "expr_to", "(raw) string", "データ終了位置の正規表現." "sendline", "integer ", "開始位置からの送り行数.default=1(次の行から読み取り開始)." "fmt", "string", "outFileに記載時の桁数フォーマット (default='%15.8e')." "names", "list of string", "各列の変数名.(default=None)" | ========================================================= コードと実行結果 ========================================================= --------------------------------------------------------- コード ( retrieveData__afterStatement.py ) --------------------------------------------------------- .. literalinclude:: pyt/retrieveData__afterStatement.py :language: python | --------------------------------------------------------- サンプル入力ファイル ( e.g. PHITSの出力ファイル ) --------------------------------------------------------- * PHITSの出力ファイル + データを抜き出したいが、色んな情報が入っている. + とある行以降、空白行までを抜き出す. .. literalinclude:: dat/sample.inp | --------------------------------------------------------- 実行結果 ( dat/sample.out ) --------------------------------------------------------- .. literalinclude:: dat/sample.out