Найти - Пользователи
Полная версия: Юникод
Начало » Python для новичков » Юникод
1 2
fallen
Выполняю некий скрипт, который выдает ошибку, но ошибка эта в Юникоде почемуто:

D:\robo>C:\Python26\python.exe d:\robo\robot3.py
Traceback (most recent call last):
File "d:\robo\robot3.py", line 185, in <module>
sf = DispatchWithEvents("TEClient.SlotFace", SlotFaceEvent)
File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 245, in
DispatchWithEvents
disp = Dispatch(clsid)
File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 95, in
Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,c
lsctx)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 104, in
_GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 84, in _
GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.II
D_IDispatch)
pywintypes.com_error: (-2147221005, '\xcd\xe5\xe4\xee\xef\xf3\xf1\xf2\xe8\xec\xe
0\xff \xf1\xf2\xf0\xee\xea\xe0 \xf1 \xf3\xea\xe0\xe7\xe0\xed\xe8\xe5\xec \xea\xe
b\xe0\xf1\xf1\xe0', None, None)
Куда копать?
sypper-pit
для начала покажи скрипт…
Александр Кошелев
fallen
Куда копать?
При этом эксепшене печатается тупл, в котором какие-то значения в том числе и строки в виде байт. Это нормальное поведение. Что вам не нравится?
sypper-pit
Daevaorn

Понятно что у чувака в юникоде просто выходит , однако на сколько я понял он этот код просто гдето взял и решил использовать… чтоб знать что у него за ошибка, думаю надо посмотреть код.
PooH
Недопустимая строка с указанием класса

COMовские ошибки всегда так показывает :( копируете строчку с ошибкой и потом в интерпретаторе print s.decode('cp1251')
sypper-pit
допустим покажется ошибка на русском языке… это ж не исправит саму ошибку
PooH
sypper-pit
допустим покажется ошибка на русском языке… это ж не исправит саму ошибку
А вот он прочитает сообщение об ошибке и исправит ее, а вам станет стыдно ;)
fallen
“Недопустимая строка с указанием класса” так звучит эта ошибка.

Ругается на строку:

sf = DispatchWithEvents("TEClient.SlotFace", SlotFaceEvent)
импортирую так:
from win32com.client import DispatchWithEvents
sypper-pit
Пока что мне не становится стыдно…. :)… почитай майл_лист http://markmail.org/message/rw4e7ez44wsyvxyy
А вообще я думаю это из-за того что не может найти некий “”“SlotFace”“”
fallen
Оказывается надо внимательнее читать документацию =) Кому интересно, надо зарегить библиотеку:
TEClient.exe /RegServer
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB