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
)
Возвращает идентификатор модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое должно быть возвращено, если flagname не определен. По умолчанию None. |
| Возвращает | |
|---|---|
| Идентификатор модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т.е. нет флага с этим именем), мы возвращаем значение по умолчанию. |
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. Флаги упорядочены по (module_name, flag_name). |
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, если name — это значение (флаг) в словаре.
__getitem__
__getitem__(
name
)
Возвращает объект Flag для флага --name.
__iter__
__iter__()
__len__
__len__()
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/flags/FlagValues