W3cubDocs

/Godot 3.0

ConfigFile

Inherits: Reference < Object

Category: Core

Brief Description

Helper class to handle INI-style files.

Member Functions

void erase_section ( String section )
PoolStringArray get_section_keys ( String section ) const
PoolStringArray get_sections ( ) const
Variant get_value ( String section, String key, Variant default=null ) const
bool has_section ( String section ) const
bool has_section_key ( String section, String key ) const
int load ( String path )
int save ( String path )
void set_value ( String section, String key, Variant value )

Description

This helper class can be used to store Variant values on the filesystem using INI-style formatting. The stored values are identified by a section and a key:

[section]
some_key=42
string_example="Hello World!"
a_vector=Vector3( 1, 0, 2 )

The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem.

The following example shows how to parse an INI-style file from the system, read its contents and store new values in it:

var config = ConfigFile.new()
var err = config.load("user://settings.cfg")
if err == OK: # if not, something went wrong with the file loading
    # Look for the display/width pair, and default to 1024 if missing
    var screen_width = get_value("display", "width", 1024)
    # Store a variable if and only if it hasn't been defined yet
    if not config.has_section_key("audio", "mute"):
        config.set_value("audio", "mute", false)
    # Save the changes by overwriting the previous file
    config.save("user://settings.cfg")

Member Function Description

void erase_section ( String section )

Deletes the specified section along with all the key-value pairs inside.

PoolStringArray get_section_keys ( String section ) const

Returns an array of all defined key identifiers in the specified section.

PoolStringArray get_sections ( ) const

Returns an array of all defined section identifiers.

Variant get_value ( String section, String key, Variant default=null ) const

Returns the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional default argument, or null if it is omitted.

bool has_section ( String section ) const

Returns true if the specified section exists.

bool has_section_key ( String section, String key ) const

Returns true if the specified section-key pair exists.

int load ( String path )

Loads the config file specified as a parameter. The file’s contents are parsed and loaded in the ConfigFile object which the method was called on. Returns one of the OK, FAILED or ERR_* constants listed in @GlobalScope. If the load was successful, the return value is OK.

int save ( String path )

Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the OK, FAILED or ERR_* constants listed in @GlobalScope. If the load was successful, the return value is OK.

void set_value ( String section, String key, Variant value )

Assigns a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a null value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed.

© 2014–2018 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
http://docs.godotengine.org/en/3.0/classes/class_configfile.html