parameterfile¶
Module that reads a parameter file and returns a dictionary with the variable names and values (all as strings)
The file format is as follows:
comments start with
#
in the first column :# My Comment
each line can have one or more name, value pairs, separated by semi colons
name1 = value1; name2 = value2
In the following example assume that value1
is a float:
>>> pf = parameterfile.pfile('my_file')
As an alternative the data can also be provided in a list of strings. This is useful if parameters are stored in a datafile or are provided from another source.
Example: the data are stored in the string array my_data:
>>> pf = parameterfile.pfile('', data = my_data)
Accessing the values of a parameters file:
>>> value1 = float(pf.data['name1'])
Values can also be retrieved using the get_value(name, dtype) function:
>>> value2 = pf.get_value('name2', var_type = float)
Possible data types (dtype) are:
float
int
parameterfile.Bool ( converts ASCII True, False to a python bool value True, False)
If var_type
keyword agrument is not used, the function tries to convert to float or bool. If both fails it
returns the string value.
Variable names are also called keys.
- class LT.parameterfile.pfile(filename, data=None)¶
Open a parameter file, read it and create a pfile object
example:
>>> pf=pfile('my_datafile')
- Bool(x)¶
convert ascii True and False to bool values. Any other value will result in False example:
>>> d.Bool('True')
returns:
>>> True
- get_all_data()¶
return a list of all data stored
- get_data(keylist)¶
return all data according to the key list which has the following format:
key1:key2:key3: …
- get_value(key, var_type=None)¶
return a value of a given data type for key.
>>> x = get_valye('my_var', var_type = float)
prints an error message and returns none if it cannot convert.
possible data types are: float, int, parameterfile.Bool
- get_variable_names()¶
return a list of keys
- make_attr()¶
Save values and names as attributes
- name()¶
print the filename associate with this instance
- show_all_data()¶
print all data and keys stored
- show_variable_names()¶
print a list of variable names in the dictionary
- write_all(fp)¶
write all parameter file data into a new file using the provided file pointer fp which has been obtained from the open statment:
>>> fp = open('new_file.par', 'w') >>> pf.write_all(fp)