Сообщить об ошибке.

Функция compile_command() модуля code в Python

Проверяет на ошибки и компилирует исходный код Python

Синтаксис:

import code

code.compile_command(source, filename="<input>", symbol="single")

Параметры:

  • source - исходная строка кода,
  • filename="<input>" - имя файла, из которого происходит чтение,
  • symbol="single" - начальный символ грамматики.

Возвращаемое значение:

  • скомпилированный объект кода или None

Описание:

Функция compile_command() модуля code полезна для программ, в которых необходимо имитировать основной цикл интерпретатора Python, также известный как цикл read-eval-print.

Сложность заключается в том, чтобы определить, когда пользователь ввел незавершенную команду, которую можно завершить, введя больше текста, в отличие от полной команды или синтаксической ошибки. Эта функция почти всегда принимает то же решение, что и основной цикл реального интерпретатора.

Аргумент source - исходная строка кода.

Аргумент filename - необязательное имя файла, из которого был прочитан источник, по умолчанию - '<input>'.

Аргумент symbol - необязательный начальный символ грамматики, который должен быть 'single' (по умолчанию), 'eval' или 'exec'.

Функция code.compile_command() возвращает:

  • если команда завершена и действительна, то объект кода (аналогично встроенной функции compile(source, filename, symbol)),
  • если команда неполная, то None,
  • если команда завершена и содержит синтаксическую ошибку, то вызывает SyntaxError,
  • если команда содержит недопустимый литерал, то вызывает OverflowError или ValueError.