Python Glossary English

Python 3.8+astфункция

ast.get_source_segment()

вспомогательные функции

Возвращает кусок исходного текста, из которого получился узел. Позволяет показать учащемуся точный фрагмент его кода, а не восстановленный unparse.

Синтаксис

ast.get_source_segment(source, node, *, padded=False)

Нужен тот же исходный текст, что передавался в parse: позиции считаются по нему. Для узла без позиций (созданного вручную) вернёт None, а не ошибку. Многострочную инструкцию отдаёт без отступа первой строки; padded=True дополняет её пробелами до исходной колонки. Появилась в 3.8.

Примеры

import ast
src = 'total = price  *  qty'
node = ast.parse(src).body[0].value
print(ast.get_source_segment(src, node))  # → price  *  qty
print(ast.unparse(node))  # → price * qty
print(ast.get_source_segment(src, ast.Name(id='x')))  # → None

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности