Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 25, 2010 11:21:20

YuraL
От:
Зарегистрирован: 2010-08-18
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическая загрузка кода Python2.6 и Python 3(не работает)

Помогите разобраться.
Код

import sys, imp
source = """
def bar():
print('bar method of')"""
code = compile(source, 'foo', 'exec')
module = imp.new_module('foo')
exec (code) in module.__dict__
module.bar()
sys.modules['foo'] = module
import foo
foo.bar()
в 2.6 работает а в Питон 3

выдает
File "C:\Python31\im.py", line 8, in <module>
module.bar()
AttributeError: 'module' object has no attribute 'bar'
Посмотрел importlib , но как там загрузить код непонятно

Спасибо, Юрий



Офлайн

#2 Авг. 25, 2010 13:12:04

YuraL
От:
Зарегистрирован: 2010-08-18
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическая загрузка кода Python2.6 и Python 3(не работает)

Разобрался. С помощью утилиты 2to3. Неправильный вызов exec



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version