Форум сайта python.su
PooHс одной стороны это было бы интересно для 1С программистов, которые пишут какой-то модуль по интеграции чего-то с чем-то на питоне, но на счет китайского согласен, хотя у самого комментарии в коде в основном на русском.
Только сегодня копался в жаба-скрипте с комментариями на китайском. Желаете поработать с модулями названными на нем же? wink
Офлайн
получить переходный модуль от 1С в питон , это уже мысль …. надо учить 1С и перекидывать строки .. тогда жестко программируем будет питон с 1С и наоборот .. тогда можно будет очень интересные штуки творить :) на питоне и перебрасывать в 1С :)
Офлайн
Ребят, сделал так, но на этот раз получаю ошибку invalid syntax в функции compile():
Программа:
class Test:
def connect_plugin(self, module_name):
module_name += u'.py'
dir_file = chr(92).join([u'c:\\PlugIns', module_name])
try:
f = open(dir_file, 'rt')
obj = compile(f.read(), module_name, 'eval')
globals()['pl'] = eval(obj)
pl.run()
except Exception, ex:
f.close()
print unicode(ex)
t = Test()
t.connect_plugin('new_plugin')
class New_Plugin:
def __init__(self):
self.text = u'Ok'
def run(self):
print self.text
Отредактировано (Апрель 26, 2009 17:47:28)
Офлайн
Трейсбек в студию
Отредактировано (Апрель 26, 2009 22:25:14)
Офлайн
В том-то и дело, что показывать нечего: invalid syntax (line 1). Ошибка, как я понимаю, происходит при компиляции плагина.
Офлайн
nJLyToЗамени на:
dir_file = chr(92).join()
nJLyToА module_name не должен быть в ASCII?
obj = compile(f.read(), module_name, ‘eval’)
Офлайн
Я бы предложил перевод в транслит. Ну и пробелы на подчерк заменить… Просто привести имя модуля в подобающий вид.t.connect_plugin('new_plugin')
ZZZа можно чуть подробнее? Как этот модуль может мне помочь?
Или вообще, взять md5.hexdigest плагина и забить на всё.
Офлайн
А наглядел в коде пару ошибок.
Начать надо с того, что вот это жж не с проста:
if codestring and codestring[-1] != '\n':
codestring = codestring + '\n'
nJLyToЕсли я правильно понимаю, то pl, это объект-модуль… А как же создать эксемпряр класса pl.New_Plugin? Или я чего-то не так въезжаю? Никогда сам такими извращениями не страдал и сейчас мне не требуется, так что в доки по compile не полезу по причине природной ленивости.
globals() = eval(obj)
pl.run()
nJLyToДля того, чтобы создать уникальное ASCII-имя для плагина. Это когда с русскими именами работать начнёте.
а можно чуть подробнее? Как этот модуль может мне помочь?
Отредактировано (Апрель 27, 2009 03:03:02)
Офлайн
может стоит определять в плагине переменную с определенным именем, которая будет содержать название плагина?
например,
__RUSSIAN_OR_NOT_RUSSIAN_PLUGIN_NAME__ = u“мой плагинчик”
Офлайн
Dimka665Скорее, это будет аттрибут класса плагина. MyPlugin.name. Но это уже частности.
может стоит определять в плагине переменную с определенным именем, которая будет содержать название плагина?
Офлайн