pyiron_base.storage.parameters module
GenericParameters class defines the typical input file with a key value structure plus an additional column for comments.
- class pyiron_base.storage.parameters.GenericParameters(table_name=None, input_file_name=None, val_only=False, comment_char='#', separator_char=' ', end_value_char='')
Bases:
HasDict
GenericParameters class defines the typical input file with a key value structure plus an additional column for comments. Convenience class to easily create, read, and modify input files
- Parameters:
table_name (str) – name of the input file inside the HDF5 file - optional
input_file_name (str/Nonetype) – name of the input file (if None default parameters are used)
val_only (bool) – input format consists of value (comments) only
comment_char (str) – separator that characterizes comment (e.g. “#” for python)
separator_char (str) – separator that characterizes the split between key and value - default=’ ‘
end_value_char (str) – special character at the end of every line - default=’’
- .. attribute:: file_name
file name of the input file
- .. attribute:: table_name
name of the input table inside the HDF5 file
- .. attribute:: val_only
boolean option to switch from a key value list to an value only input file
- .. attribute:: comment_char
separator that characterizes comment
- .. attribute:: separator_char
separator that characterizes the split between key and value
- .. attribute:: multi_word_separator
multi word separator to have multi word keys
- .. attribute:: end_value_char
special character at the end of every line
- .. attribute:: replace_char_dict
dictionary to replace certain character combinations
- clear_all()
Clears all fields in the object
- property comment_char
Get the separator that characterizes comment
- Returns:
comment character
- Return type:
str
- define_blocks(block_dict)
Define a block section within the GenericParameters
- Parameters:
block_dict (dict) – dictionary to define the block
- property end_value_char
Get the special character at the end of every line
- Returns:
end of line character
- Return type:
str
- property file_name
Get the file name of the input file
- Returns:
file name
- Return type:
str
- from_dict(obj_dict, version: str = None)
Reload GenericParameters from dictionary
- Parameters:
obj_dict (dict) – dictionary for reloading GenericParameters object
version (str, optional) – version of the HasDict format that is used
- from_hdf(hdf, group_name=None)
Restore the GenericParameters from an HDF5 file
- Parameters:
hdf (ProjectHDFio) – HDF5 group object
group_name (str) – HDF5 subgroup name - optional
- get(parameter_name, default_value=None)
Get the value of a specific parameter from GenericParameters - if the parameter is not available return default_value if that is set.
- Parameters:
parameter_name (str) – parameter key
default_value (str) – default value to return is the parameter is not set
- Returns:
value of the parameter
- Return type:
str
- get_attribute(attribute_name)
Get the value of a specific parameter from GenericParameters
- Parameters:
attribute_name (str) – parameter key
- Returns:
value of the parameter
- Return type:
str
- get_pandas()
Output the GenericParameters object as Pandas Dataframe for human readability.
- Returns:
Pandas Dataframe of the GenericParameters object
- Return type:
pandas.DataFrame
- get_string_lst()
Get list of strings from GenericParameters to write to input file
- keys()
Return keys of GenericParameters object
- load_default()
Load defaults resets the dataset in the background to be empty
- load_string(input_str)
Load a multi line string to overwrite the current parameter settings
- Parameters:
input_str (str) – multi line string
- modify(separator=None, append_if_not_present=False, **modify_dict)
Modify values for existing parameters. The command is called as modify(param1=val1, param2=val2, …)
- Parameters:
separator (str) – needed if the parameter name contains special characters such as par: use then as input: modify(separator=”:”, par=val) - optional
append_if_not_present (bool) – do not raise an exception but append the parameter in practice use set(par=val) - default=False
**modify_dict (dict) – dictionary of parameter names and values
- property multi_word_separator
Get the multi word separator to have multi word keys
- Returns:
multi word separator
- Return type:
str
- read_input(file_name, ignore_trigger=None)
Read input file and store the data in GenericParameters - this overwrites the current parameter settings
- Parameters:
file_name (str) – absolute path to the input file
ignore_trigger (str) – trigger for lines to be ignored
- remove_keys(key_list)
Remove a list of keys from the GenericParameters
- Parameters:
key_list (list) – list of keys to be removed
- property replace_char_dict
Get the dictionary to replace certain character combinations
- Returns:
character replace dictionary
- Return type:
dict
- property separator_char
Get the separator that characterizes the split between key and value
- Returns:
separator character
- Return type:
str
- set(separator=None, **set_dict)
Set the value of multiple parameters or create new parameter key, if they do not exist already.
- Parameters:
separator (float/int/str) – separator string - optional
**set_dict (dict) – dictionary containing the parameter keys and their corresponding values to be set
- set_dict(dictionary)
Set a dictionary of key value pairs
- Parameters:
dictionary (dict) – dictionary of key value pairs
- set_value(line, val)
Set the value of a parameter in a specific line
- Parameters:
line (float/int/str) – line number - starting with 0
val (str/bytes) – value to be set
- property table_name
Get the name of the input table inside the HDF5 file
- Returns:
table name
- Return type:
str
- to_dict()
Convert the GenericParameters object to a dictionary for storage
- Returns:
GenericParameters object as a dictionary
- Return type:
dict
- to_hdf(hdf, group_name=None)
Store the GenericParameters in an HDF5 file
- Parameters:
hdf (ProjectHDFio) – HDF5 group object
group_name (str) – HDF5 subgroup name - optional
- property val_only
Get the boolean option to switch from a key value list to an value only input file
- Returns:
[True/False]
- Return type:
bool
- write_file(file_name, cwd=None)
Write GenericParameters to input file
- Parameters:
file_name (str) – name of the file, either absolute (then cwd must be None) or relative
cwd (str) – path name (default: None)