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 | Значение, возвращаемое, если flagname не определено. По умолчанию None. |
| Возвращает | |
|---|---|
| Имя модуля, зарегистрировавшего флаг с этим именем. Если такого модуля нет (то есть флага с таким именем нет), возвращается значение по умолчанию. |
find_module_id_defining_flag
find_module_id_defining_flag(
flagname: Text, default: Optional[_T] = None
) -> Union[int, Optional[_T]]
Возвращает идентификатор модуля, в котором определён этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, возвращаемое, если flagname не определено. По умолчанию None. |
| Возвращает | |
|---|---|
| Идентификатор модуля, зарегистрировавшего флаг с этим именем. Если такого модуля нет (то есть флага с таким именем нет), возвращается значение по умолчанию. |
flag_values_dict
flag_values_dict() -> Dict[Text, Any]
Возвращает словарь, сопоставляющий имена флагов их значениям.
flags_by_module_dict
flags_by_module_dict() -> Dict[Text, List[Flag]]
Возвращает словарь module_name -> список определённых флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Значения — списки объектов Flag. |
flags_by_module_id_dict
flags_by_module_id_dict() -> Dict[int, List[Flag]]
Возвращает словарь module_id -> список определённых флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — идентификаторы модулей (целые числа). Значения — списки объектов Flag. |
flags_into_string
flags_into_string() -> Text
Возвращает строку с присваиваниями флагов из этого объекта FlagValues.
Эта функция игнорирует флаги, значение которых равно None. Каждое присваивание флага отделяется символом новой строки.
Примечание: Поведение ДОЛЖНО соответствовать поведению C++-функции CommandlineFlagsIntoString из https://github.com/gflags/gflags
| Возвращает | |
|---|---|
| str, строка с присваиваниями флагов из этого объекта FlagValues. Флаги упорядочены по (module_name, flag_name). |
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]]
Возвращает словарь module_name -> список ключевых флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи — имена модулей (строки). Значения — списки объектов Flag. |
main_module_help
main_module_help() -> Text
Описывает ключевые флаги главного модуля.
| Возвращает | |
|---|---|
| str, описание ключевых флагов главного модуля. |
mark_as_parsed
mark_as_parsed() -> None
Явно помечает флаги как разобранные.
Используйте этот метод, если вызывающий код знает, что этот FlagValues был обработан так, как если бы был вызван __call__(). Это открытый метод, предназначенный только для использования такими компонентами, как appcommands, которые выполняют дополнительный разбор команд.
module_help
module_help(
module: Any
) -> Text
Описывает ключевые флаги модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, ключевые флаги которого нужно описать. |
| Возвращает | |
|---|---|
| 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 | str, имя модуля 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 | int, идентификатор модуля 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 | str, имя модуля 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 = value.
| Аргументы | |
|---|---|
name | str, имя изменяемого флага. |
value | Новое значение по умолчанию. |
| Вызывает исключения | |
|---|---|
UnrecognizedFlagError | Вызывается, если зарегистрированный флаг с именем name отсутствует. |
IllegalFlagValueError | Вызывается, если значение недопустимо. |
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 | bool, указывает, следует ли использовать разбор в стиле 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 | Объект File, в который выполняется запись. Значение None по умолчанию означает sys.stdout. |
__call__
__call__(
argv: Sequence[Text], known_only: bool = False
) -> List[Text]
Разбирает флаги из argv и сохраняет разобранные флаги в этот объект FlagValues.
Возвращаются все неразобранные аргументы.
| Аргументы | |
|---|---|
argv | кортеж или список строк. |
known_only | bool: если True, разбираются и удаляются известные флаги, а остальные возвращаются без изменений. Неизвестные флаги, указанные в --undefok, не возвращаются. |
| Возвращает | |
|---|---|
| Список аргументов, не разобранных как параметры, включая argv[0]. |
| Вызывает исключения | |
|---|---|
Error | Вызывается при любой ошибке разбора. |
TypeError | Вызывается при передаче аргументов неправильного типа. |
ValueError | Вызывается при ошибке разбора значения флага. |
__contains__
__contains__(
name: Text
) -> bool
Возвращает True, если name является ключом (флагом) в словаре.
__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