Python(パイソン) ,ソースプログラムリスト あり ,[指定された曲線を、指定された値で、近似的に等分割し、その結果を画面上に表示する] 処理の , [パラメーター値・保持用・サブグループ]
Python(パイソン) ,ソースプログラムリスト あり ,プログラム作ってみた ,[指定された曲線を、指定された値で、近似的に等分割し、その結果を画面上に表示する] を 行う へ
-----
2024.8.17 presented in [note] ( //note.com/runningWater/ )
2024.8.24 rewritten
----------
1 はじめに
これ以降に記述されている内容は、このようなコンピューター・プログラムを制作した、というような事を、ただ、述べているに過ぎない。
以下の記述を読んだ人が、それを単に参考にする、というのであれば、問題は無いと、思われる。
しかし、記述されている内容に沿って、その人が、そこに記されているのと同様の制作や作業を行った際に、その制作、作業、コンピューターの作動の結果、使用されたコンピューター等、様々な方面において、何らかの問題が発生しない、という保証は、全くない。
その制作、作業、コンピューターの作動の結果、その人や、その人が所属している組織、その人が使用した様々な機器、インフラストラクチャー等の、身の上にどのような事が起ころうとも、私は一切、責任を負わない。
このプログラムは、Python(パイソン) 言語を使って、記述されている。
----------
2 パラメーター値・保持用・サブグループ
ここでは、プログラムの動作を規定する重要な値を、[パラメーター]と呼んでいる。
それらの値を、XMLデータで記述しておき、モジュール群が起動されると、それが読み込まれて、プログラム内部の変数に格納される、というような形にしてある。
このようにしておくと、後日、プログラムの改変を伴わないで、パラメーター値の変更を行うことができる。(XMLデータ上の値を修正するだけですむ)。
パラメーター値を定義した、XMLデータは、下記の通り。
ファイル名 [XML_For_Parameters.xml]
<?xml version="1.0" encoding="UTF-8" ?>
<value_for_parameters_controling_process>
<value_for_parameters
abs_path_of_base_directory = "E:ForPython/ForTest/Test_1/"
path_of_output_directory = "Output/"
path_of_CopyOfDisplayingImageData_directory = "CopyOfDisplayImageData/"
file_name_part_1_of_CopyOfDisplayingImageData = "Copy_"
file_name_ending_part_of_CopyOfDisplayingImageData = ".png"
insert_date_and_time_Y_N = "Y"
x_insert_date_and_timee = "50"
y_insert_date_and_timee = "120"
text_font_color_Blue = "60"
text_font_color_Green = "20"
text_font_color_Red = "200"
path_of_input_directory = "Input/"
path_of_BaseImageDataForDisplay_directory = "BaseImageDataForDisplay/"
file_name_part_1_of_BaseImageDataForDisplay = "BaseImage_1"
file_name_ending_part_of_BaseImageDataForDisplay = ".png"
>
</value_for_parameters>
</value_for_parameters_controling_process>
----------
上記のXMLデータを読み込み、その値を保持するモジュールの内容は、下記のとおりである。
このモジュールの中から、下記に記述したモジュールへの呼び出しが、行われる。
Python(パイソン) ,ソースプログラムリスト あり ,プログラム作ってみた ,[XML データ を、読み込み、そこに記述されている内容を、利用可能な形にする] を 行う
----------
ファイル名 [ParametersContainer.py]
----------
#------------------------------------
# ParametersContainer
#------------------------------------
import XMLHandling
MODULE_NAME = "ParametersContainer"
ABS_PATH_OF_XML_FILE = "E:ForPython/ForTest/Test_1/XMLData/XML_For_Parameters.xml"
global_list_of_XML_attribute = [ \
"abs_path_of_base_directory"
, "path_of_output_directory"
, "path_of_CopyOfDisplayingImageData_directory"
, "file_name_part_1_of_CopyOfDisplayingImageData"
, "file_name_ending_part_of_CopyOfDisplayingImageData"
, "insert_date_and_time_Y_N"
, "x_insert_date_and_timee"
, "y_insert_date_and_timee"
, "text_font_color_Blue"
, "text_font_color_Green"
, "text_font_color_Red"
, "path_of_input_directory"
, "path_of_BaseImageDataForDisplay_directory"
, "file_name_part_1_of_BaseImageDataForDisplay"
, "file_name_ending_part_of_BaseImageDataForDisplay"
]
global_par_abs_path_of_base_directory = " "
global_par_path_of_output_directory = " "
global_par_path_of_CopyOfDisplayingImageData_directory = " "
global_par_file_name_part_1_of_CopyOfDisplayingImageData = " "
global_par_file_name_ending_part_of_CopyOfDisplayingImageData = " "
global_par_insert_date_and_time_Y_N = " "
global_par_x_insert_date_and_timee = " "
global_par_y_insert_date_and_timee = " "
global_par_text_font_color_Blue = 0
global_par_text_font_color_Green = 0
global_par_text_font_color_Red = 0
global_par_path_of_input_directory = " "
global_par_path_of_BaseImageDataForDisplay_directory = " "
global_par_file_name_part_1_of_BaseImageDataForDisplay = " "
global_par_file_name_ending_part_of_BaseImageDataForDisplay = " "
def initialize ( ) :
function_name = "initialize"
print ( "==================================" )
print ( "Enter into , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
ins_XMLHandling = XMLHandling.XMLHandling (
MODULE_NAME # arg_requester_module
, function_name # arg_requester_function
, ABS_PATH_OF_XML_FILE # arg_path_of_XML_File
, global_list_of_XML_attribute
)
ins_XMLHandling \
.load_XML_data (
MODULE_NAME # arg_requester_module
, function_name # arg_requester_function
)
# ---------- global declaration -----------------
global global_par_abs_path_of_base_directory
global global_par_path_of_output_directory
global global_par_path_of_CopyOfDisplayingImageData_directory
global global_par_file_name_part_1_of_CopyOfDisplayingImageData
global global_par_file_name_ending_part_of_CopyOfDisplayingImageData
#------------------------------
global global_par_insert_date_and_time_Y_N
global global_par_x_insert_date_and_timee
global global_par_y_insert_date_and_timee
global global_par_text_font_color_Blue
global global_par_text_font_color_Green
global global_par_text_font_color_Red
#------------------------------
global global_par_path_of_input_directory
global global_par_path_of_BaseImageDataForDisplay_directory
global global_par_file_name_part_1_of_BaseImageDataForDisplay
global global_par_file_name_ending_part_of_BaseImageDataForDisplay
# --------- set values from XML -----------------
global_par_abs_path_of_base_directory \
= set_value_from_XML ( 1 , ins_XMLHandling )
global_par_path_of_output_directory \
= set_value_from_XML ( 2 , ins_XMLHandling )
global_par_path_of_CopyOfDisplayingImageData_directory \
= set_value_from_XML ( 3 , ins_XMLHandling )
global_par_file_name_part_1_of_CopyOfDisplayingImageData \
= set_value_from_XML ( 4 , ins_XMLHandling )
global_par_file_name_ending_part_of_CopyOfDisplayingImageData \
= set_value_from_XML ( 5 , ins_XMLHandling )
#------------------------------
global_par_insert_date_and_time_Y_N \
= set_value_from_XML ( 6 , ins_XMLHandling )
global_par_x_insert_date_and_timee \
= set_value_from_XML ( 7 , ins_XMLHandling )
global_par_y_insert_date_and_timee \
= set_value_from_XML ( 8 , ins_XMLHandling )
global_par_text_font_color_Blue \
= set_value_from_XML ( 9 , ins_XMLHandling )
global_par_text_font_color_Green \
= set_value_from_XML ( 10 , ins_XMLHandling )
global_par_text_font_color_Red \
= set_value_from_XML ( 11 , ins_XMLHandling )
#------------------------------
global_par_path_of_input_directory \
= set_value_from_XML ( 12 , ins_XMLHandling )
global_par_path_of_BaseImageDataForDisplay_directory \
= set_value_from_XML ( 13 , ins_XMLHandling )
global_par_file_name_part_1_of_BaseImageDataForDisplay \
= set_value_from_XML ( 14 , ins_XMLHandling )
global_par_file_name_ending_part_of_BaseImageDataForDisplay \
= set_value_from_XML ( 15 , ins_XMLHandling )
print ( "==================================" )
print ( "Exit from , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
#--------------------------------------
def display_parameter_value ( ) :
function_name = "display_parameter_value"
print ( "==================================" )
print ( "Enter into , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
print ( "global_par_abs_path_of_base_directory = " \
+ str ( global_par_abs_path_of_base_directory ) )
print ( "global_par_path_of_output_directory = " \
+ str ( global_par_path_of_output_directory ) )
print ( "global_par_path_of_CopyOfDisplayingImageData_directory = " \
+ str ( global_par_path_of_CopyOfDisplayingImageData_directory ) )
print ( "global_par_file_name_part_1_of_CopyOfDisplayingImageData = " \
+ str ( global_par_file_name_part_1_of_CopyOfDisplayingImageData ) )
print ( "global_par_file_name_ending_part_of_CopyOfDisplayingImageData = " \
+ str ( global_par_file_name_ending_part_of_CopyOfDisplayingImageData ) )
print ( "global_par_insert_date_and_time_Y_N = " \
+ str ( global_par_insert_date_and_time_Y_N ) )
print ( "global_par_x_insert_date_and_timee = " \
+ str ( global_par_x_insert_date_and_timee ) )
print ( "global_par_y_insert_date_and_timee = " \
+ str ( global_par_y_insert_date_and_timee ) )
print ( "global_par_text_font_color_Blue = " \
+ str ( global_par_text_font_color_Blue ) )
print ( "global_par_text_font_color_Green = " \
+ str ( global_par_text_font_color_Green ) )
print ( "global_par_text_font_color_Red = " \
+ str ( global_par_text_font_color_Red ) )
#-------------------------------
print ( "global_par_path_of_input_directory = " \
+ str ( global_par_path_of_input_directory ) )
print ( "global_par_path_of_BaseImageDataForDisplay_directory = " \
+ str ( global_par_path_of_BaseImageDataForDisplay_directory ) )
print ( "global_par_file_name_part_1_of_BaseImageDataForDisplay = " \
+ str ( global_par_file_name_part_1_of_BaseImageDataForDisplay ) )
print ( "global_par_file_name_ending_part_of_BaseImageDataForDisplay = " \
+ str ( global_par_file_name_ending_part_of_BaseImageDataForDisplay ) )
#------------------------------------------------
print ( "==================================" )
print ( "Exit from , Module = " + MODULE_NAME
+ " , function = " + function_name )
print ( "==================================" )
return
#--------------------------------
def set_value_from_XML (
arg_order_number_in_attribute_list
, arg_ins_XMLHandling
) :
function_name = "set_value_from_XML"
return_value \
= arg_ins_XMLHandling \
.get_value_of_XML_data (
MODULE_NAME
, function_name
, 1 # order_number_of_child_of_XML_data
, arg_order_number_in_attribute_list
, "Y" # message_display
)
return return_value
-----
Python(パイソン) ,ソースプログラムリスト あり ,プログラム作ってみた ,[指定された曲線を、指定された値で、近似的に等分割し、その結果を画面上に表示する] を 行う へ