Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

gt;>> inspect.getsourcefile(inspect)

Поиск

>>> import inspect

# имя файла исходного кода

 

>>> inspect.getsourcefile(inspect)

 

'/usr/local/lib/python2.3/inspect.py'

# абсолютный путь к файлу

 

>>> inspect.getabsfile(inspect)

 

'/usr/local/lib/python2.3/inspect.py'

# файл кода модуля

 

>>> print inspect.getfile(inspect)

 

/usr/local/lib/python2.3/inspect.pyc

# исходный текст модуля

 

>>> print inspect.getsource(inspect)

 

(в виде строки)

# -*- coding: iso-8859-1 -*-

"""Get useful information from live Python objects.

. . .

 

>>> import smtplib

>>> # Комментарий непосредственно перед определением объекта:

>>> inspect.getcomments(smtplib.SMTPException)

 

'# Exception classes used by this module.\n'


 


>>> # Теперь берем строку документирования:

>>> inspect.getdoc(smtplib.SMTPException)

 

'Base class for all exceptions raised by this module.'

 

С помощью модуля inspect можно узнать состав аргументов некоторой функции с помощью функции inspect.getargspec():

 

>>> import inspect

>>> def f(x, y=1, z=2):

... return x + y + z

...

>>> def g(x, *v, **z):

... return x

...

>>> print inspect.getargspec(f) (['x', 'y', 'z'], None, None, (1, 2))

>>> print inspect.getargspec(g) (['x'], 'v', 'z', None)

 

 

Возвращаемый кортеж содержит список аргументов(кроме специальных),затем следуют имена аргументов для списка позиционных аргументов(*)и списка именованных аргументов(**),после чего-список значений по умолчанию для последних позиционных аргументов.Первый аргумент-список может содержать вложенные списки,отражая структуру аргументов:

 

>>> def f((x1,y1), (x2,y2)):

... return 1

...

>>> print inspect.getargspec(f)

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 6; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.47.139 (0.006 с.)