Latest posts on Советы по задаванию вопросов topichttps://python.su/forum/topic/1019/2007-07-18T09:36:20+03:00Общий :: Python для экспертов :: Советы по задаванию вопросов
2007-07-18T09:36:20+03:00Все ники заняты6723<blockquote><em>Андрей Светлов</em><br/>Уже хуже. Нельзя повторить сразу.</blockquote>В данном случае повторять это ни к чему, поэтому текст скрипта, вызвавшего эту ошибку, я умышленно не стал приводить. Неужели уж никто не видел никогда таких кракозябров? Вопрос-то был совсем не в том, как обойти какую-то конкретную ошибку, а только в том, как прочитать уже выведенные кракозябры (выведенные не важно по какому поводу).
Общий :: Python для экспертов :: Советы по задаванию вопросов
2007-07-18T07:36:32+03:00bialix6715+1
Общий :: Python для экспертов :: Советы по задаванию вопросов
2007-07-17T23:10:11+03:00Андрей Светлов6714Пожалуйста, при описании проблемы прикладывайте простой пример, наглядно иллюстрирующий ее (если это только возможно). В идеальном случае - doctest, unittest или nosetest. Или, что куда реальней - пример, который можно запустить и увидеть Поверьте, это нетрудно.<br/><br/>Примеры:<br/><blockquote><em>well</em><br/>Всем привет, у меня такая проблемка: есть текст, разделенный кавычками. Я хочу разбить его на элементы и пробежаться по каждому регуляркой:<br/><br/>reg = re.compile (r“\ACN=(?P<need>.*),OU=(?P<OU>PCs.*|S.*),OU=UKR”)<br/>spl = re.split (r“\”“, s)<br/>for i in spl:<br/> if (i != ”\n"):<br/> i = str (i)<br/> ss = reg.match (i)<br/> print ss.group ('need')<br/><br/>Выдает ошибку:<br/><blockquote>Traceback (most recent call last):<br/> File “<string>”, line 74, in run_nodebug<br/> File “D:\Docs\Python\DelPC.py”, line 18, in <module><br/> print ss.group ('need')<br/>AttributeError: ‘NoneType’ object has no attribute ‘group’</blockquote>Если вместо <span style="color:#ff0000">ss = reg.match (i) </span> вставляю <span style="color:#ff0000">ss = reg.match ('CN=OFF_PC_1,OU=PCs,OU=KKK,DC=gold,DC=lan') </span>, то все получается. Даже не знаю, где уже копать :(</blockquote>Все почти хорошо, но остается догадываться, что было во входной строке s. Может быть, на моем примере все бы заработало? :)<br/><br/><blockquote><em>proDiva</em><br/>Пытаюсь создать переход по полям формы по нажатию клавиши Enter. В многострочных полях нажатие вызывает перенос строки. Как мне запретить выполнять это действие или прописать свое?<br/>Вот мои попытки:<br/><br/>def famEnter(self, evt):<br/> if evt.GetKeyCode() == 13:<br/> #wxKeyEvent(wx.WXK_BACK)<br/> #s = self.fam.GetValue().split('\n')<br/> #self.fam.EmulateKeyPress(wxKeyEvent(wx.WXK_BACK))<br/> self.droj.SetFocus()<br/> #self.fam.EmulateKeyPress(wxKeyEvent(wx.WXK_TAB))<br/> #self.Update()<br/> #self.OnEnter(self.fam)<br/> evt.Skip()<br/><br/><br/>Все что пытаюсь прописать, он успевает выполнить вначале, а потом добавляет перенос строки.</blockquote>Тоже неплохо, но можно добавить пару строк для создания фрейма и вклеивания в него TextCtrl. И запуска приложения, конечно.<br/><br/><blockquote><em>Все ники заняты</em><br/>ActivePython 2.5, WinXP<br/>При исполнении консольных скриптов иногда на консоль (cmd.exe) выдаются ошибки кракозябрами, типа:<br/><blockquote>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)</blockquote>Как это расшифровать (интересует способ, а не конкретный текст)?</blockquote>Уже хуже. Нельзя повторить сразу. Но хоть понятно (мне, по крайней мере).<br/><br/><blockquote><em>Нави Гатор</em><br/>Помогите, пожалуйста.<br/>Я переопределил метод __setattr__ для класса следующим образом:<br/><div class="code"><pre>class SomeClass(SomeMetaClass):<br/> def _setattr(cls,name,val):<br/> try:<br/> cls.__getattribute__(name)<br/> except:<br/> cls.__dict__[name]=val<br/> SomeMetaClass.__setattr__=_setattr</pre></div>В результате при вызове SomeClass.someattr='value' вылезает ошибка:<br/><br/>TypeError: Error when calling the metaclass bases<br/> ‘dictproxy’ object does not support item assignment<br/><br/>Что сдесь можно сделать?</blockquote>А вот это совсем плохо. Что представляет SomeMetaClass - неясно. Что хотел сделать автор - неясно вдвойне. При дальнейшем обсуждении выяснилось, что dictproxy совершенно не при чем. Более того, setattr тоже не нужен. А проблема была в именно в SomeMetaClass, который на деле оказался elixir.EntityMeta со своим специфическим поведением.<br/><br/>Резюмируя.<br/>Гораздо проще отвечать на вопрос, если пример с ошибкой можно воспроизвести, скопировав его и запустив. И СРАЗУ увидеть, что не работает. Если мне прийдется дописать еще надцать строк только для того, чтобы воспроизвести проблему автора - я далеко не всегда стану это делать. А тем более отвечать на пост. Или отвечу что-то в стиле: RTFM и RTFW.<br/>Экономьте свое и чужое время. И чаще получайте хорошие ответы.<br/><br/>P.S. Все это - исключительно мое личное мнение. <br/>Примеры выбраны абсолютно случайно. Есть и более хорошие постановки проблемы - их много. Есть и куда худшие - их гораздо больше.