все Python 3inspectфункция
inspect.getcomments()
исходный код
Возвращает строки комментариев # прямо над определением функции, класса или метода (у модуля — в начале файла). Нужен исходный файл.
Синтаксис
inspect.getcomments(object)
Функция читает исходный файл, а не объект: для встроенных функций и для кода, созданного через exec(), в интерактивной оболочке или в python -c, она молча вернёт None, а не бросит ошибку. Пустая строка между комментарием и def разрывает связь. Docstring сюда не входит — его даёт getdoc().
Примеры
import inspect
class Cart:
# Итог с учётом скидки.
# Скидка — в процентах.
def total(self, discount):
pass
print(repr(inspect.getcomments(Cart.total)))
# → '# Итог с учётом скидки.\n# Скидка — в процентах.\n'
import inspect
namespace = {}
exec('# комментарий\ndef dyn(): pass', namespace)
print(inspect.getcomments(namespace['dyn'])) # → None — исходного файла нет
print(inspect.getcomments(len)) # → None
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности