Форум сайта python.su
Пожалуйста, при описании проблемы прикладывайте простой пример, наглядно иллюстрирующий ее (если это только возможно). В идеальном случае - doctest, unittest или nosetest. Или, что куда реальней - пример, который можно запустить и увидеть Поверьте, это нетрудно.
Примеры:
wellВсе почти хорошо, но остается догадываться, что было во входной строке s. Может быть, на моем примере все бы заработало? :)
Всем привет, у меня такая проблемка: есть текст, разделенный кавычками. Я хочу разбить его на элементы и пробежаться по каждому регуляркой:
reg = re.compile (r“\ACN=(?P<need>.*),OU=(?P<OU>PCs.*|S.*),OU=UKR”)
spl = re.split (r“\”“, s)
for i in spl:
if (i != ”\n"):
i = str (i)
ss = reg.match (i)
print ss.group ('need')
Выдает ошибку:Traceback (most recent call last):Если вместо ss = reg.match (i) вставляю ss = reg.match ('CN=OFF_PC_1,OU=PCs,OU=KKK,DC=gold,DC=lan') , то все получается. Даже не знаю, где уже копать :(
File “<string>”, line 74, in run_nodebug
File “D:\Docs\Python\DelPC.py”, line 18, in <module>
print ss.group ('need')
AttributeError: ‘NoneType’ object has no attribute ‘group’
proDivaТоже неплохо, но можно добавить пару строк для создания фрейма и вклеивания в него TextCtrl. И запуска приложения, конечно.
Пытаюсь создать переход по полям формы по нажатию клавиши Enter. В многострочных полях нажатие вызывает перенос строки. Как мне запретить выполнять это действие или прописать свое?
Вот мои попытки:
def famEnter(self, evt):
if evt.GetKeyCode() == 13:
#wxKeyEvent(wx.WXK_BACK)
#s = self.fam.GetValue().split('\n')
#self.fam.EmulateKeyPress(wxKeyEvent(wx.WXK_BACK))
self.droj.SetFocus()
#self.fam.EmulateKeyPress(wxKeyEvent(wx.WXK_TAB))
#self.Update()
#self.OnEnter(self.fam)
evt.Skip()
Все что пытаюсь прописать, он успевает выполнить вначале, а потом добавляет перенос строки.
Все ники занятыУже хуже. Нельзя повторить сразу. Но хоть понятно (мне, по крайней мере).
ActivePython 2.5, WinXP
При исполнении консольных скриптов иногда на консоль (cmd.exe) выдаются ошибки кракозябрами, типа:pywintypes.com_error: (-2147221020, ‘\xd1\xe8\xed\xf2\xe0\xea\xf1\xe8\xf7\xe5\xf1\xea\xe0\xff \xee\xf8\xe8\xe1\xea\xe0’, None, None)Как это расшифровать (интересует способ, а не конкретный текст)?
Нави ГаторА вот это совсем плохо. Что представляет SomeMetaClass - неясно. Что хотел сделать автор - неясно вдвойне. При дальнейшем обсуждении выяснилось, что dictproxy совершенно не при чем. Более того, setattr тоже не нужен. А проблема была в именно в SomeMetaClass, который на деле оказался elixir.EntityMeta со своим специфическим поведением.
Помогите, пожалуйста.
Я переопределил метод __setattr__ для класса следующим образом:В результате при вызове SomeClass.someattr='value' вылезает ошибка:class SomeClass(SomeMetaClass):
def _setattr(cls,name,val):
try:
cls.__getattribute__(name)
except:
cls.__dict__[name]=val
SomeMetaClass.__setattr__=_setattr
TypeError: Error when calling the metaclass bases
‘dictproxy’ object does not support item assignment
Что сдесь можно сделать?
Отредактировано (Июль 17, 2007 23:12:54)
Офлайн
+1
Офлайн
Андрей СветловВ данном случае повторять это ни к чему, поэтому текст скрипта, вызвавшего эту ошибку, я умышленно не стал приводить. Неужели уж никто не видел никогда таких кракозябров? Вопрос-то был совсем не в том, как обойти какую-то конкретную ошибку, а только в том, как прочитать уже выведенные кракозябры (выведенные не важно по какому поводу).
Уже хуже. Нельзя повторить сразу.
Офлайн