mxutils.ImportSymbols¶
-
mxutils.
ImportSymbols
(path: str, output: Type = None) → dict[str, float | int | str] | None¶ Parses elements of all resource files contained in the given
path
into the global scope of the caller or into a dictionary.See also
- Parameters
path (str) – The path within which header files should be discovered and parsed.
output (typing.Type) – If the parsed symbols should be placed in the global scope or be returned as a dictionary. Pass
None
to let them be placed in the global scope anddict
to have the function return them as a dictionary. Defaults toNone
.
- Returns
The parsed symbol value pairs as or nothing when the
output
wasNone
- Return type
dict[str, float | int | str] | None
- Example
The following header file
c:\data\c4d_symbols.h
,enum { ID_FOO = 1000, ID_BAR = 1001, _DUMMY_ELEMENT_ };
can be imported as follows:
import os import mxutils # Recursively parse header files in "c:\data" into this scope. mxutils.ImportSymbols("c:\data") # This would also work when only a singular file should be parsed. mxutils.ImportSymbols("c:\data\c4d_symbols.h") # The parsed symbols are now exposed in the global scope. print(ID_FOO) # Will print 1000 print(ID_BAR) # Will print 1001 # Alternatively, symbols can also be parsed into a dictionary. data: dict[str, int] = mxutils.ImportSymbols("c:\data\c4d_symbols.h", output=dict) print(data["ID_FOO"]) # Will print 1000 print(data["ID_BAR"]) # Will print 1001