tf.compat.v1.flags.FlagValues
Регистр объектов 'Flag'.
tf.compat.v1.flags.FlagValues()
Объект 'FlagValues' может сканировать аргументы командной строки, передавая аргументы флагов объектам 'Flag', которые он владеет. Он также обеспечивает легкий доступ к значениям флагов. Обычно в приложении нужен только один объект 'FlagValues': flags.FLAGS
Этот класс сильно перегружен:
Объекты 'Flag' регистрируются через setitem: FLAGS['longname'] = x # регистрация нового флага
Атрибут .value зарегистрированных объектов 'Flag' можно получить как атрибуты этого объекта 'FlagValues' через getattr. Можно использовать как длинное, так и короткое имя исходных объектов 'Flag' для доступа к его значению: FLAGS.longname # прочитанное значение флага FLAGS.x # прочитанное значение флага (короткое имя)
Аргументы командной строки сканируются и передаются зарегистрированным объектам 'Flag' через метод call. Необработанные аргументы, включая argv0, возвращаются. argv = FLAGS(sys.argv) # сканирование аргументов командной строки
Исходные зарегистрированные объекты Flag можно получить с помощью оператора в стиле словаря, getitem: x = FLAGS['longname'] # доступ к зарегистрированному объекту Flag
Оператор str() для объекта 'FlagValues' предоставляет справку по всем зарегистрированным объектам 'Flag'.
Методы
append_flag_values
append_flag_values(
flag_values
)
Добавляет флаги, зарегистрированные в другом экземпляре FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, из которого нужно скопировать флаги. |
append_flags_into_file
append_flags_into_file(
filename
)
Добавляет все назначения флагов из этого объекта FlagInfo в файл.
Вывод будет в формате файла флагов.
Примечание: ДОЛЖЕН отражать поведение C++ AppendFlagsIntoFile из https://github.com/gflags/gflags
| Аргументы | |
|---|---|
filename | str, имя файла. |
find_module_defining_flag
find_module_defining_flag(
flagname, default=None
)
Возвращает имя модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое нужно вернуть, если flagname не определен. По умолчанию None. |
| Возвращает | |
|---|---|
| Имя модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т. е. флага с этим именем не существует), возвращается значение по умолчанию. |
find_module_id_defining_flag
find_module_id_defining_flag(
flagname, default=None
)
Возвращает ID модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое нужно вернуть, если flagname не определен. По умолчанию None. |
| Возвращает | |
|---|---|
| ID модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т. е. флага с этим именем не существует), возвращается значение по умолчанию. |
flag_values_dict
flag_values_dict()
Возвращает словарь, сопоставляющий имена флагов со значениями флагов.
flags_by_module_dict
flags_by_module_dict()
Возвращает словарь module_name -> список определенных флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Его значения — списки объектов Flag. |
flags_by_module_id_dict
flags_by_module_id_dict()
Возвращает словарь module_id -> список определенных флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — идентификаторы модулей (целые числа). Его значения — списки объектов Flag. |
flags_into_string
flags_into_string()
Возвращает строку с назначениями флагов из этого объекта FlagValues.
Эта функция игнорирует флаги, значение которых None. Каждое назначение флага отделяется новой строкой.
Примечание: ДОЛЖЕН отражать поведение C++ CommandlineFlagsIntoString из https://github.com/gflags/gflags
| Возвращает | |
|---|---|
| str, строка с назначениями флагов из этого объекта FlagValues. Флаги упорядочены по (имя_модуля, имя_флага). |
get_flag_value
get_flag_value(
name, default
)
Возвращает значение флага (если оно не None) или значение по умолчанию.
| Аргументы | |
|---|---|
name | str, имя флага. |
default | Значение по умолчанию, используемое, если значение флага None. |
| Возвращает | |
|---|---|
| Запрашиваемое значение флага или значение по умолчанию. |
get_flags_for_module
get_flags_for_module(
module
)
Возвращает список флагов, определенных модулем.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить флаги. |
| Возвращает | |
|---|---|
| [Flag], новый список экземпляров Flag. Вызывающий может обновить этот список, | |
desired | т.к. эти изменения не повлияют на внутреннее состояние экземпляра FlagValue. |
get_help
get_help(
prefix='', include_special_flags=True
)
Возвращает строку справки по всем известным флагам.
| Аргументы | |
|---|---|
prefix | str, префикс вывода на строку. |
include_special_flags | bool, включать ли описание SPECIAL_FLAGS, т. е. --flagfile и --undefok. |
| Возвращает | |
|---|---|
| str, отформатированное сообщение справки. |
get_key_flags_for_module
get_key_flags_for_module(
module
)
Возвращает список ключевых флагов для модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить ключевые флаги. |
| Возвращает | |
|---|---|
| [Flag], новый список экземпляров Flag. Вызывающий может обновить этот список, | |
desired | т.к. эти изменения не повлияют на внутреннее состояние экземпляра FlagValue. |
is_gnu_getopt
is_gnu_getopt()
is_parsed
is_parsed()
Возвращает, были ли обработаны флаги.
key_flags_by_module_dict
key_flags_by_module_dict()
Возвращает словарь module_name -> список ключевых флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Его значения — списки объектов Flag. |
main_module_help
main_module_help()
Описание ключевых флагов основного модуля.
| Возвращает | |
|---|---|
| str, описание ключевых флагов основного модуля. |
mark_as_parsed
mark_as_parsed()
Явно отмечает флаги как обработанные.
Используйте это, когда вызывающая сторона знает, что этот FlagValues был обработан так, как будто произошло вызов call(). Это просто публичный метод для использования такими вещами, как appcommands, которые выполняют дополнительный парсинг команд.
module_help
module_help(
module
)
Описание ключевых флагов модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, для которого нужно описать ключевые флаги. |
| Возвращает | |
|---|---|
| str, описание ключевых флагов модуля. |
read_flags_from_files
read_flags_from_files(
argv, force_gnu=True
)
Обрабатывает аргументы командной строки, но также позволяет считывать аргументы из файла.
| Аргументы | |
|---|---|
argv | [str], список строк, обычно sys.argv[1:], который может содержать одну или несколько директив файла флагов вида --flagfile="./filename". Обратите внимание, что имя программы (sys.argv[0]) должно быть опущено. |
force_gnu | bool, если False, обработка --flagfile подчиняется значению FLAGS.is_gnu_getopt(). Если True, игнорируется значение, и всегда следуют семантике gnu_getopt. |
| Возвращаемое значение | |
|---|---|
| Новый список, который объединяет исходный список с данными, прочитанными из файла флага. |
| Исключения | |
|---|---|
IllegalFlagValueError | Вызывается, когда --flagfile предоставлен без аргумента. |
Эта функция вызывается FLAGS(argv). Она ищет в входном списке флаг, похожий на: --flagfile=
Обратите внимание, что флаги вашего приложения все еще определяются обычным способом с использованием функций типа absl.flags DEFINE_flag().
Примечания (предполагая, что на входе у нас есть какая-то командная строка): --> При дублировании флагов последний встреченный должен «победить». --> Поскольку флаги, появляющиеся позже, побеждают, настройки файла флагов могут быть «слабыми», если --flagfile находится в начале последовательности аргументов, и могут быть «сильными», если --flagfile находится в конце. --> Дополнительный "--flagfile=
register_flag_by_module
register_flag_by_module(
module_name, flag
)
Записывает модуль, который определяет конкретный флаг.
Мы отслеживаем, какой флаг определен каким модулем, чтобы позже отсортировать флаги по модулям.
| Аргументы | |
|---|---|
module_name | str, имя модуля Python. |
flag | Flag, экземпляр Flag, являющийся ключом к модулю. |
register_flag_by_module_id
register_flag_by_module_id(
module_id, flag
)
Записывает модуль, который определяет конкретный флаг.
| Аргументы | |
|---|---|
module_id | int, идентификатор модуля Python. |
flag | Flag, экземпляр Flag, являющийся ключом к модулю. |
register_key_flag_for_module
register_key_flag_for_module(
module_name, flag
)
Указывает, что флаг является ключевым флагом для модуля.
| Аргументы | |
|---|---|
module_name | str, имя модуля Python. |
flag | Flag, экземпляр Flag, являющийся ключом к модулю. |
remove_flag_values
remove_flag_values(
flag_values
)
Удаляет флаги, которые были ранее добавлены из другого FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, содержащий флаги для удаления. |
set_default
set_default(
name, value
)
Изменяет значение по умолчанию указанного объекта флага.
Текущее значение флага также обновляется, если флаг в настоящее время использует значение по умолчанию, т.е. не указан в командной строке и не установлен с помощью FLAGS.name = value.
| Аргументы | |
|---|---|
name | str, имя флага для изменения. |
value | Новое значение по умолчанию. |
| Исключения | |
|---|---|
UnrecognizedFlagError | Вызывается, когда зарегистрированного флага с именем name нет. |
IllegalFlagValueError | Вызывается, когда значение не является допустимым. |
set_gnu_getopt
set_gnu_getopt(
gnu_getopt=True
)
Устанавливает, использовать ли сканирование в стиле GNU.
Стиль GNU позволяет смешивать флаги и аргументы, не являющиеся флагами. См. http://docs.python.org/library/getopt.html#getopt.gnu_getopt
| Аргументы | |
|---|---|
gnu_getopt | bool, использовать ли сканирование в стиле GNU. |
unparse_flags
unparse_flags()
Депарсит все флаги до состояния до вызова FLAGS(argv).
validate_all_flags
validate_all_flags()
Проверяет, проходят ли все флаги проверку.
| Исключения | |
|---|---|
AttributeError | Вызывается, если валидаторы работают с несуществующим флагом. |
IllegalFlagValueError | Вызывается, если проверка не пройдена по крайней мере для одного валидатора. |
write_help_in_xml_format
write_help_in_xml_format(
outfile=None
)
Выводит документацию по флагам в формате XML.
Примечание: Мы используем имена элементов, согласующиеся с теми, которые используются библиотекой флагов командной строки C++, из https://github.com/gflags/gflags. Мы также используем несколько новых элементов (например,), но мы не вмешиваемся / не перекрываем существующие XML-элементы, используемые библиотекой C++. Пожалуйста, сохраните эту согласованность.
| Аргументы | |
|---|---|
outfile | Объект файла, в который мы записываем. Значение по умолчанию None означает sys.stdout. |
__call__
__call__(
argv, known_only=False
)
Парсит флаги из argv; сохраняет обработанные флаги в этом объекте FlagValues.
Все необработанные аргументы возвращаются.
| Аргументы | |
|---|---|
argv | кортеж/список строк. |
known_only | bool, если True, парсит и удаляет известные флаги; возвращает остальное без изменений. Неизвестные флаги, указанные с помощью --undefok, не возвращаются. |
| Возвращаемое значение | |
|---|---|
| Список аргументов, не обработанных в качестве параметров, включая argv[0]. |
| Исключения | |
|---|---|
Error | Вызывается при любой ошибке обработки. |
TypeError | Вызывается при передаче аргументов неправильного типа. |
ValueError | Вызывается при ошибке разбора значения флага. |
__contains__
__contains__(
name
)
Возвращает True, если имя является значением (флагом) в словаре.
__getitem__
__getitem__(
name
)
Возвращает объект Flag для флага --name.
__iter__
__iter__()
__len__
__len__()
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/flags/FlagValues