Форум сайта python.su
ZZZСмотрел, проверял… вообще не понятно для чего он. Этот символ принципиально не важен и в документации про compile() о нем не упоминается.
Начать надо с того, что вот это жж не с проста:
Код:
if codestring and codestring != ‘\n’:
codestring = codestring + ‘\n’
Очень похоже, что оно.
ZZZХорошо, попробую разобраться.
Добавленно:
Моё природное любопытство взяло верх…
Хм… Использовать ‘eval’ как-то не красиво… Всё-таки модуль, это не “single expression”.
Лучше сделайте через ‘exec’ и регистрируйте плагин из самого плагина. Ну типа сделайте базовый класс для всех плагинов в __init__ которого воткните что-то вроде: __builtin__.register_plugin(self). Написать функцию register_plugin и воткнуть её в __builtin__ проблем не составит.
Офлайн
nJLyToТолько сильно не увлекайся изменением встроенного пространства имён. Скажем так: это можно только, если это действтельно необходимо. Так сказать крайний случай.
Хорошо, попробую разобраться.
Офлайн
Не знаю как у вас, но у меня модули с русским именем прекрасно импортируются и работают. Так что никакой проблемы я не вижу.
Офлайн
Rodegastкакие версия питона и ОС?
Не знаю как у вас, но у меня модули с русским именем прекрасно импортируются и работают. Так что никакой проблемы я не вижу.
Офлайн
ОС Debian Linux 5.0
Python 2.5
Офлайн
Т.е. вы хотите сказать, что на Python 2.5 у вас работает следующее:
import русские
print русские.буквы
Офлайн
Не он работает так:
modul = __import__("МодульСРусскимИменем")
modul.funkcija()
......
Офлайн