Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 27, 2009 09:43:08

nJLyTo
От:
Зарегистрирован: 2008-11-11
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Инструкция __import__ для модулей с русским названием

ZZZ
Начать надо с того, что вот это жж не с проста:
Код:
if codestring and codestring != ‘\n’:
codestring = codestring + ‘\n’

Очень похоже, что оно.
Смотрел, проверял… вообще не понятно для чего он. Этот символ принципиально не важен и в документации про compile() о нем не упоминается.
ZZZ
Добавленно:
Моё природное любопытство взяло верх…
Хм… Использовать ‘eval’ как-то не красиво… Всё-таки модуль, это не “single expression”.
Лучше сделайте через ‘exec’ и регистрируйте плагин из самого плагина. Ну типа сделайте базовый класс для всех плагинов в __init__ которого воткните что-то вроде: __builtin__.register_plugin(self). Написать функцию register_plugin и воткнуть её в __builtin__ проблем не составит.
Хорошо, попробую разобраться.



Офлайн

#2 Апрель 27, 2009 11:36:18

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Инструкция __import__ для модулей с русским названием

nJLyTo
Хорошо, попробую разобраться.
Только сильно не увлекайся изменением встроенного пространства имён. Скажем так: это можно только, если это действтельно необходимо. Так сказать крайний случай.



Офлайн

#3 Апрель 30, 2009 09:53:23

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2833
Репутация: +  186  -
Профиль   Отправить e-mail  

Инструкция __import__ для модулей с русским названием

Не знаю как у вас, но у меня модули с русским именем прекрасно импортируются и работают. Так что никакой проблемы я не вижу.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Апрель 30, 2009 10:54:02

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Инструкция __import__ для модулей с русским названием

Rodegast
Не знаю как у вас, но у меня модули с русским именем прекрасно импортируются и работают. Так что никакой проблемы я не вижу.
какие версия питона и ОС?



Офлайн

#5 Апрель 30, 2009 13:01:10

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2833
Репутация: +  186  -
Профиль   Отправить e-mail  

Инструкция __import__ для модулей с русским названием

ОС Debian Linux 5.0
Python 2.5



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Май 1, 2009 02:46:55

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Инструкция __import__ для модулей с русским названием

Т.е. вы хотите сказать, что на Python 2.5 у вас работает следующее:

import русские
print русские.буквы
8-)



Офлайн

#7 Май 4, 2009 13:43:19

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2833
Репутация: +  186  -
Профиль   Отправить e-mail  

Инструкция __import__ для модулей с русским названием

Не он работает так:

modul = __import__("МодульСРусскимИменем")
modul.funkcija()
......



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version