tf.compat.v1.flags.FlagValues
Регистр объектов :class:~absl.flags.Flag.
tf.compat.v1.flags.FlagValues()
Объект :class:FlagValues может сканировать аргументы командной строки, передавая аргументы флагов объектам 'Flag', которые он владеет. Он также предоставляет лёгкий доступ к значениям флагов. Обычно для приложения нужен только один объект :class:FlagValues: :const:FLAGS.
Этот класс сильно перегружен:
Объекты :class:Flag регистрируются через __setitem__::
FLAGS['longname'] = x # register a new flag
Атрибут .value зарегистрированных объектов :class:~absl.flags.Flag может быть получен как атрибуты этого объекта :class:FlagValues, через __getattr__. Для доступа к его значению можно использовать как длинное, так и короткое имя исходных объектов :class:~absl.flags.Flag::
FLAGS.longname # parsed flag value FLAGS.x # parsed flag value (short name)
Аргументы командной строки сканируются и передаются зарегистрированным объектам :class:~absl.flags.Flag через метод __call__. Необработанные аргументы, включая argv[0] (например, имя программы), возвращаются::
argv = FLAGS(sys.argv) # scan command line arguments
Исходные зарегистрированные объекты :class:~absl.flags.Flag могут быть получены с использованием оператора словаря, __getitem__::
x = FLAGS['longname'] # access the registered Flag object
Оператор str() объекта :class:absl.flags.FlagValues предоставляет справку по всем зарегистрированным объектам :class:~absl.flags.Flag.
Методы
append_flag_values
append_flag_values(
flag_values: 'FlagValues'
) -> None
Добавляет флаги, зарегистрированные в другом объекте FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, из которого нужно скопировать флаги. |
append_flags_into_file
append_flags_into_file(
filename: Text
) -> None
Добавляет все назначения флагов из этого объекта FlagInfo в файл.
Вывод будет в формате файла флагов.
Примечание: ДОЛЖЕН соответствовать поведению C++ AppendFlagsIntoFile из https://github.com/gflags/gflags
| Аргументы | |
|---|---|
filename | str, имя файла. |
find_module_defining_flag
find_module_defining_flag(
flagname: Text, default: Optional[_T] = None
) -> Union[str, Optional[_T]]
Возвращает имя модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое должно быть возвращено, если флаг не определён. По умолчанию None. |
| Возвращает | |
|---|---|
| Имя модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т.е. нет флага с этим именем), возвращается значение по умолчанию. |
find_module_id_defining_flag
find_module_id_defining_flag(
flagname: Text, default: Optional[_T] = None
) -> Union[int, Optional[_T]]
Возвращает идентификатор модуля, определяющего данный флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое будет возвращено, если флаг с данным именем не определён. По умолчанию None. |
| Возвращаемое значение | |
|---|---|
| Идентификатор модуля, который зарегистрировал флаг с данным именем. Если такого модуля нет (т.е. флага с данным именем не существует), возвращается значение по умолчанию. |
flag_values_dict
flag_values_dict() -> Dict[Text, Any]
Возвращает словарь, сопоставляющий имена флагов их значениям.
flags_by_module_dict
flags_by_module_dict() -> Dict[Text, List[Flag]]
Возвращает словарь, сопоставляющий имя модуля списку определённых флагов.
| Возвращаемое значение | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Его значения — списки объектов Flag. |
flags_by_module_id_dict
flags_by_module_id_dict() -> Dict[int, List[Flag]]
Возвращает словарь, сопоставляющий идентификатор модуля списку определённых флагов.
| Возвращаемое значение | |
|---|---|
| Словарь. Его ключи — идентификаторы модулей (целые числа). Его значения — списки объектов Flag. |
flags_into_string
flags_into_string() -> Text
Возвращает строку с назначениями флагов из этого объекта FlagValues.
Эта функция игнорирует флаги, значение которых None. Каждое назначение флага разделяется новой строкой.
Примечание: ДОЛЖЕН отражать поведение C++ функции CommandlineFlagsIntoString из https://github.com/gflags/gflags
| Возвращаемое значение | |
|---|---|
| str, строка с назначениями флагов из этого объекта FlagValues. Флаги упорядочены по (имя_модуля, имя_флага). |
get_flag_value
get_flag_value(
name: Text, default: Any
) -> Any
Возвращает значение флага (если оно не None) или значение по умолчанию.
| Аргументы | |
|---|---|
name | str, имя флага. |
default | Значение по умолчанию, используемое, если значение флага None. |
| Возвращаемое значение | |
|---|---|
| Запрашиваемое значение флага или значение по умолчанию. |
get_flags_for_module
get_flags_for_module(
module: Union[Text, Any]
) -> List[tf.compat.v1.flags.Flag]
Возвращает список флагов, определённых модулем.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить флаги. |
| Возвращаемое значение | |
|---|---|
| [Flag], новый список объектов Flag. Вызывающий может обновить этот список, | |
desired | так как ни одно из этих изменений не повлияет на внутреннее состояние объекта FlagValue. |
get_help
get_help(
prefix: Text = '', include_special_flags: bool = True
) -> Text
Возвращает строку справки для всех известных флагов.
| Аргументы | |
|---|---|
prefix | str, префикс для вывода в строке. |
include_special_flags | bool, нужно ли включать описание SPECIAL_FLAGS, т.е. --flagfile и --undefok. |
| Возвращаемое значение | |
|---|---|
| str, отформатированное сообщение справки. |
get_key_flags_for_module
get_key_flags_for_module(
module: Union[Text, Any]
) -> List[tf.compat.v1.flags.Flag]
Возвращает список флагов ключей для модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить флаги ключей. |
| Возвращаемое значение | |
|---|---|
| [Flag], новый список экземпляров Flag. Вызывающий может обновить этот список, так как | |
desired | никакие изменения не повлияют на внутреннее состояние экземпляра FlagValue. |
is_gnu_getopt
is_gnu_getopt() -> bool
is_parsed
is_parsed() -> bool
Возвращает, были ли обработаны флаги.
key_flags_by_module_dict
key_flags_by_module_dict() -> Dict[Text, List[Flag]]
Возвращает словарь модуль_имя -> список флагов ключей.
| Возвращаемое значение | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Его значения — списки объектов Flag. |
main_module_help
main_module_help() -> Text
Описание флагов ключей основного модуля.
| Возвращаемое значение | |
|---|---|
| Строка, описывающая флаги ключей основного модуля. |
mark_as_parsed
mark_as_parsed() -> None
Явно отмечает флаги как обработанные.
Используйте это, когда вызывающий знает, что этот FlagValues был обработан так, как будто произошло вызов __call__(). Это общедоступный метод, предназначенный для использования такими элементами, как appcommands, которые выполняют дополнительный синтаксический анализ команд.
module_help
module_help(
module: Any
) -> Text
Описание флагов ключей модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, для которого нужно описать флаги ключей. |
| Возвращаемое значение | |
|---|---|
| Строка, описывающая флаги ключей модуля. |
read_flags_from_files
read_flags_from_files(
argv: Sequence[Text], force_gnu: bool = True
) -> List[Text]
Обрабатывает аргументы командной строки, но также позволяет читать аргументы из файла.
| Аргументы | |
|---|---|
argv | [str], список строк, обычно sys.argv[1:], который может содержать одну или несколько директив flagfile вида --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: Text,
flag: tf.compat.v1.flags.Flag
) -> None
Записывает модуль, который определяет конкретный флаг.
Мы отслеживаем, какой флаг определяется каким модулем, чтобы позже отсортировать флаги по модулям.
| Аргументы | |
|---|---|
module_name | Строка, имя Python-модуля. |
flag | Flag, экземпляр Flag, являющийся ключом модуля. |
register_flag_by_module_id
register_flag_by_module_id(
module_id: int,
flag: tf.compat.v1.flags.Flag
) -> None
Записывает модуль, который определяет конкретный флаг.
| Аргументы | |
|---|---|
module_id | Целое число, идентификатор Python-модуля. |
flag | Flag, экземпляр Flag, являющийся ключом модуля. |
register_key_flag_for_module
register_key_flag_for_module(
module_name: Text,
flag: tf.compat.v1.flags.Flag
) -> None
Указывает, что флаг является ключевым флагом для модуля.
| Аргументы | |
|---|---|
module_name | Строка, имя Python-модуля. |
flag | Flag, экземпляр Flag, являющийся ключом модуля. |
remove_flag_values
remove_flag_values(
flag_values: 'Union[FlagValues, Iterable[Text]]'
) -> None
Удаляет флаги, которые были ранее добавлены из другого FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, содержащий флаги для удаления. |
set_default
set_default(
name: Text, value: Any
) -> None
Изменяет значение по умолчанию указанного объекта флага.
Текущее значение флага также обновляется, если флаг в настоящее время использует значение по умолчанию, т. е. не указано в командной строке и не установлено FLAGS.name = значение.
| Аргументы | |
|---|---|
name | Строка, имя флага для изменения. |
value | Новое значение по умолчанию. |
| Исключения | |
|---|---|
UnrecognizedFlagError | Выбрасывается, когда нет зарегистрированного флага с именем name. |
IllegalFlagValueError | Выбрасывается, когда value недействительно. |
set_gnu_getopt
set_gnu_getopt(
gnu_getopt: bool = True
) -> None
Устанавливает использование или отключение сканирования в стиле GNU.
Стиль GNU позволяет смешивать аргументы флага и не-флага. См. http://docs.python.org/library/getopt.html#getopt.gnu_getopt
| Аргументы | |
|---|---|
gnu_getopt | Булево значение, использовать ли сканирование в стиле GNU. |
unparse_flags
unparse_flags() -> None
Деобрабатывает все флаги до момента вызова FLAGS(argv).
validate_all_flags
validate_all_flags() -> None
Проверяет, проходят ли все флаги валидацию.
| Исключения | |
|---|---|
AttributeError | Выбрасывается, если валидаторы работают с несуществующим флагом. |
IllegalFlagValueError | Выбрасывается, если валидация не пройдена хотя бы для одного валидатора. |
write_help_in_xml_format
write_help_in_xml_format(
outfile: Optional[TextIO] = None
) -> None
Выводит документацию флагов в формате XML.
Примечание: Мы используем имена элементов, соответствующие именам, используемым библиотекой флагов командной строки C++, из https://github.com/gflags/gflags Мы также используем несколько новых элементов (например,), но мы не вмешиваемся/не накладываемся на существующие XML-элементы, используемые библиотекой C++. Пожалуйста, сохраняйте эту согласованность.
| Аргументы | |
|---|---|
outfile | Объект файла, в который мы записываем. Значение по умолчанию None означает sys.stdout. |
__call__
__call__(
argv: Sequence[Text], known_only: bool = False
) -> List[Text]
Обрабатывает флаги из argv; сохраняет обработанные флаги в этом объекте FlagValues.
Все необработанные аргументы возвращаются.
| Аргументы | |
|---|---|
argv | Кортеж/список строк. |
known_only | Булево значение. Если True, обрабатывает и удаляет известные флаги; возвращает оставшиеся без изменений. Неизвестные флаги, указанные с помощью --undefok, не возвращаются. |
| Возвращаемое значение | |
|---|---|
| Список аргументов, не обработанных как параметры, включая argv[0]. |
| Исключения | |
|---|---|
Error | Вызывается при любой ошибке парсинга. |
TypeError | Вызывается при передаче аргументов неправильного типа. |
ValueError | Вызывается при ошибке парсинга значения флага. |
__contains__
__contains__(
name: Text
) -> bool
Возвращает True, если имя является значением (флагом) в словаре.
__getitem__
__getitem__(
name: Text
) -> tf.compat.v1.flags.Flag
Возвращает объект Flag для флага --name.
__iter__
__iter__() -> Iterator[Text]
__len__
__len__() -> int
© 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/api_docs/python/tf/compat/v1/flags/FlagValues