class NameValidator: (source)
Object to validate a list of strings to use as field names.
The strings are stripped of any non alphanumeric character, and spaces are replaced by '_'. During instantiation, the user can define a list of names to exclude, as well as a list of invalid characters. Names in the exclusion list are appended a '_' character.
Once an instance has been created, it can be called with a list of
names, and a list of valid names will be created. The __call__
method accepts an optional keyword "default" that sets the default name
in case of ambiguity. By default this is 'f', so that names will
default to f0
, f1
, etc.
Parameters
- excludelist : sequence, optional
- A list of names to exclude. This list is appended to the default
list ['return', 'file', 'print']. Excluded names are appended an
underscore: for example,
file
becomesfile_
if supplied. - deletechars : str, optional
- A string combining invalid characters that must be deleted from the names.
- case_sensitive : {True, False, 'upper', 'lower'}, optional
- If True, field names are case-sensitive.
- If False or 'upper', field names are converted to upper case.
- If 'lower', field names are converted to lower case.
The default value is True.
- replace_space : '_', optional
- Character(s) used in replacement of white spaces.
Notes
Calling an instance of NameValidator
is the same as calling its
method validate
.
Examples
>>> validator = np.lib._iotools.NameValidator() >>> validator(['file', 'field2', 'with space', 'CaSe']) ('file_', 'field2', 'with_space', 'CaSe')
>>> validator = np.lib._iotools.NameValidator(excludelist=['excl'], ... deletechars='q', ... case_sensitive=False) >>> validator(['excl', 'field2', 'no_q', 'with space', 'CaSe']) ('EXCL', 'FIELD2', 'NO_Q', 'WITH_SPACE', 'CASE')
Method | __call__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | validate |
Validate a list of strings as field names for a structured array. |
Class Variable | defaultdeletechars |
Undocumented |
Class Variable | defaultexcludelist |
Undocumented |
Instance Variable | case |
Undocumented |
Instance Variable | deletechars |
Undocumented |
Instance Variable | excludelist |
Undocumented |
Instance Variable | replace |
Undocumented |
Undocumented
Validate a list of strings as field names for a structured array.
Parameters
- names : sequence of str
- Strings to be validated.
- defaultfmt : str, optional
- Default format string, used if validating a given string reduces its length to zero.
- nbfields : integer, optional
- Final number of validated names, used to expand or shrink the initial list of names.
Returns
- validatednames : list of str
- The list of validated field names.
Notes
A NameValidator
instance can be called directly, which is the
same as calling validate
. For examples, see NameValidator
.