Я пытаюсь получить доступ к коду, который выполняется модулем при его вводе.Код модуля python доступа
Визуализация источника или редактирование здесь не вопрос. Я хотел бы знать, где хранятся эти инструкции.
Пример
module.py
def func():
print 'func'
print 'module'
консоль Python
>>> import module
module
>>> import dis
>>> dis.dis(module)
Disassembly of func:
0 LOAD_CONST 1 ('func')
3 PRINT_ITEM
4 PRINT_NEWLINE
5 LOAD_CONST 0 (None)
8 RETURN_VALUE
>>> dir(module)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'func']
Где я могу найти <function>
объект, или func_code или любые которая хранит print 'module'
инструкция?
@pokoli, это не относится - это не кейн, он пытается получить доступ к байт-коду. – Phillammon
'print 'module'' не существует ни в одном объекте. Он выполняется, когда модуль определен, но не является * частью * модуля. Существует различие между файлом, который содержит код, определяющий модуль, и объект 'module', который является результатом выполнения этого файла. – chepner
@chepner: О, хорошо спасибо! поэтому, если я хочу пойти глубже, должен ли я открыть другой вопрос: как подключить встроенный импорт, чтобы получить трассировку кода, выполняемого при импорте? (Я новичок в SO) – Centime