pyiron.base.generic.parameters module

class pyiron.base.generic.parameters.GenericParameters(table_name=None, input_file_name=None, val_only=False, comment_char='#', separator_char=' ', end_value_char='')[source]

Bases: pyiron.base.generic.template.PyironObject

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) – 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

comment_char

Get the separator that characterizes comment

Returns:comment character
Return type:str
define_blocks(block_dict)[source]

Define a block section within the GenericParameters

Parameters:block_dict (dict) – dictionary to define the block
end_value_char

Get the special character at the end of every line

Returns:end of line character
Return type:str
file_name

Get the file name of the input file

Returns:file name
Return type:str
from_hdf(hdf, group_name=None)[source]

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)[source]

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)[source]

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()[source]

Output the GenericParameters object as Pandas Dataframe for human readability.

Returns:Pandas Dataframe of the GenericParameters object
Return type:pandas.DataFrame
get_string_lst()[source]

Get list of strings from GenericParameters to write to input file

keys()[source]

Return keys of GenericParameters object

load_default()[source]

Load defaults resets the dataset in the background to be empty

load_string(input_str)[source]

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)[source]

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
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)[source]

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)[source]

Remove a list of keys from the GenericParameters

Parameters:key_list (list) – list of keys to be removed
replace_char_dict

Get the dictionary to replace certain character combinations

Returns:character replace dictionary
Return type:dict
separator_char

Get the separator that characterizes the split between key and value

Returns:separator character
Return type:str
set(separator=None, **set_dict)[source]

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)[source]

Set a dictionary of key value pairs

Parameters:dictionary (dict) – dictionary of key value pairs
set_value(line, val)[source]

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
table_name

Get the name of the input table inside the HDF5 file

Returns:table name
Return type:str
to_hdf(hdf, group_name=None)[source]

Store the GenericParameters in an HDF5 file

Parameters:
  • hdf (ProjectHDFio) – HDF5 group object
  • group_name (str) – HDF5 subgroup name - optional
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)[source]

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)