The User Settings API is used to store your settings information from one session to another or from one program to another. They are stored on disk in either JSON or INI file formats.
In addition to user settings files, there is also a global PySimpleGUI settings file that PySimpleGUI uses to store information about the default Python interpreter you want to use with the Exec APIs, the default theme. You can directly access the global settings through the UserSettings object: pysimplegui_user_settings
UserSettings
UserSettings(
filename = None,
path = None,
silent_on_error = False,
autosave = True,
use_config_file = None,
convert_bools_and_none = True
)
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
autosave | bool | True | If True the settings file is saved after every update |
convert_bools_and_none | bool | True | If True then "True", "False", "None" will be converted to the Python values True, False, None when using INI files. Default is TRUE |
filename | (str or None) | None | The name of the file to use. Can be a full path and filename or just filename |
path | (str or None) | None | The folder that the settings file will be stored in. Do not include the filename. |
silent_on_error | bool | False | If True errors will not be reported |
use_config_file | bool | None | If True then the file format will be a config.ini rather than json |
Class Properties
This class has no public properties
Class Methods
def delete_entry
def delete_file
def delete_section
def exists
def get
def get_dict
def get_filename
def load
def read
def save
def set
def set_default_value
def set_location
def write_new_dictionary
delete_entry
Deletes an individual entry. If no filename has been specified up to this point, then a default filename will be used. After value has been deleted, the settings file is written to disk.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
key | Any | Setting to be deleted. Can be any valid dictionary key type (i.e. must be hashable) | |
silent_on_error | bool | None | Determines if error should be shown. This parameter overrides the silent on error setting for the object. |
delete_file
Deltes the filename and path for your settings file. Either paramter can be optional. If you don't choose a path, one is provided for you that is OS specific Windows path default = users/name/AppData/Local/PySimpleGUI/settings. If you don't choose a filename, your application's filename + '.json' will be used Also sets your current dictionary to a blank one.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | The name of the file to use. Can be a full path and filename or just filename |
path | (str or None) | None | The folder that the settings file will be stored in. Do not include the filename. |
report_error | bool | False | Determines if an error should be shown if a delete error happen (i.e. file isn't present) |
delete_section
Deletes a section with the name provided in the section parameter. Your INI file will be saved afterwards if auto-save enabled (default is ON)
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
section | str | Name of the section to delete |
exists
Check if a particular settings file exists. Returns True if file exists
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | The name of the file to use. Can be a full path and filename or just filename |
path | (str or None) | None | The folder that the settings file will be stored in. Do not include the filename. |
get
Returns the value of a specified setting. If the setting is not found in the settings dictionary, then the user specified default value will be returned. It no default is specified and nothing is found, then the "default value" is returned. This default can be specified in this call, or previously defined by calling set_default. If nothing specified now or previously, then None is returned as default.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
default | Any | None | Value to use should the key not be found in the dictionary |
key | Any | Key used to lookup the setting in the settings dictionary | |
RETURN | Any | Value of specified settings |
get_dict
Returns the current settings dictionary. If you've not setup the filename for the settings, a default one will be used and then read.
Note that you can display the dictionary in text format by printing the object itself.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
RETURN | Dict | The current settings dictionary |
get_filename
Sets the filename and path for your settings file. Either paramter can be optional.
If you don't choose a path, one is provided for you that is OS specific Windows path default = users/name/AppData/Local/PySimpleGUI/settings.
If you don't choose a filename, your application's filename + '.json' will be used.
Normally the filename and path are split in the user_settings calls. However for this call they can be combined so that the filename contains both the path and filename.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | The name of the file to use. Can be a full path and filename or just filename |
path | (str or None) | None | The folder that the settings file will be stored in. Do not include the filename. |
RETURN | str | The full pathname of the settings file that has both the path and filename combined. |
load
Specifies the path and filename to use for the settings and reads the contents of the file. The filename can be a full filename including a path, or the path can be specified separately. If no filename is specified, then the caller's filename will be used with the extension ".json"
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | Filename to load settings from (and save to in the future) |
path | (str or None) | None | Path to the file. Defaults to a specific folder depending on the operating system |
RETURN | dict | The settings dictionary (i.e. all settings) |
read
Reads settings file and returns the dictionary. If you have anything changed in an existing settings dictionary, you will lose your changes.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
RETURN | dict | settings dictionary |
save
Saves the current settings dictionary. If a filename or path is specified in the call, then it will override any previously specitfied filename to create a new settings file. The settings dictionary is then saved to the newly defined file.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | The fFilename to save to. Can specify a path or just the filename. If no filename specified, then the caller's filename will be used. |
path | (str or None) | None | The (optional) path to use to save the file. |
RETURN | str | The full path and filename used to save the settings |
set
Sets an individual setting to the specified value. If no filename has been specified up to this point, then a default filename will be used. After value has been modified, the settings file is written to disk. Note that this call is not value for a config file normally. If it is, then the key is assumed to be the Section key and the value written will be the default value.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
key | Any | Setting to be saved. Can be any valid dictionary key type | |
value | Any | Value to save as the setting's value. Can be anything | |
RETURN | Any | value that key was set to |
set_default_value
Set the value that will be returned if a requested setting is not found
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
default | Any | value to be returned if a setting is not found in the settings dictionary |
set_location
Sets the location of the settings file
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
filename | (str or None) | None | The name of the file to use. Can be a full path and filename or just filename |
path | (str or None) | None | The folder that the settings file will be stored in. Do not include the filename. |
write_new_dictionary
Writes a specified dictionary to the currently defined settings filename.
Parameter Descriptions
Name | Type | Default | Description |
---|---|---|---|
settings_dict | dict | The dictionary to be written to the currently defined settings file |