Найти - Пользователи
Полная версия: С чем связана ошибка pywintypes.com_error:
Начало » Python для экспертов » С чем связана ошибка pywintypes.com_error:
1 2 3 4
Vjn
При чтении файла возникает ошибка
pywintypes.com_error: (-2147024882, ‘\315\345\344\356\361\362\340\362\356\367\355\356\357\340\354\377\362\350\344\353\377\347\340\345\360\370\345\355\350\377\356\357\345\360\340\366\350\350.’, None, None)
shiza
что читаешь, какой файл?
код и ошибку полностью давай =)
Vjn
Начну с того что питон у меня используется как интерпритатор в системе транспортировки..
Структура файла - текстовый файл(строки с разделителями выгруженная таблица). Размер файла 65521 Кб
Я подозреваю что ошибка связана с тем что файл большой

Если я читаю этот кусок - то всё нормально - но вот если весь файл то ошибка..

Кусок файла:

……………………………

301810017836|ФИО
301810017840|ФИО
301810017862|ФИО
301810022088|ФИО
301810022107|ФИО
301810017884|ФИО
301810022110|ФИО
301810017895|ФИО
301810022121|ФИО
301810017906|ФИО

……………………………….
shiza
какой код читает этот файл?
Vjn
Да. кстати забыл отметить, что я XML формирую здесь…

from Colvir import *
import re
import cssutil
import string
from string import split

fld = {}
fld = ‘FRMT’ # РНН
fld = ‘FIO’ # ФИО/Тип налогоплательщика
fld = ‘REZ’ # Признак резиденства
fld = ‘UCH’ # Постоянное учреждение
fld = ‘PIP’ # Признак ИП
fld = ‘NAMEIP’ # Наименование ИП
fld = ‘DATEREG’ # Дата гос. регистрации ИП
fld = ‘DATECLOSE’ # Дата прекращения деятельности ИП
fld = ‘DATEGOSREG’ # Дата гос. регистрации налогоплательщика
fld = ‘DATELAST’ # Дата последнего снятия с рег. учёта по месту нахождения
fld = ‘PRICH’ # Причина снятия с учёта
fld = ‘TYPEISK’ # Тип исключения из гос. реестра
fld = ‘DATEISK’ # Дата исключения из гос. реестра
fld = ‘DATENPRI’ # Дата начала приостановления
fld = ‘DATEOPRI’ # Дата окончания приостановления


packDS = inDs

msg = inDs

str_lst = re.findall('(?im)^.+$', msg)

outDs.clear()
outDs.addField('TRATTR', ftDataSet)
outDs.addField('BODY', ftString)

# Формирование выходного XML-ля.

import msxml2
import time



for ss in str_lst:
c=string.count(ss,'|')
if c<4:
outDs.append()
Doc=msxml2.DOMDocument()
root_node = Doc.createElement('MSG')
root_node.setAttribute('FORMAT', ‘RNN’)
root_node.setAttribute('SENDER', ‘CESNACLV000’)
root_node.setAttribute('RECIPIENT', ‘BDRNN’)
Doc.appendChild(root_node)

for ss in str_lst:
sl = split(ss, ‘|’)

node = Doc.createElement('RNNNAME')
root_node.appendChild(node)

for i in range(0, len(sl)-1):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(1, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)
else:
outDs.append()
Doc=msxml2.DOMDocument()
root_node = Doc.createElement('MSG')
root_node.setAttribute('FORMAT', ‘RNN’)
root_node.setAttribute('SENDER', ‘CESNACLV000’)
root_node.setAttribute('RECIPIENT', ‘BDRNN’)
Doc.appendChild(root_node)

for ss in str_lst:
sl = split(ss, ‘|’)

node = Doc.createElement('RNNDATA')
root_node.appendChild(node)

for i in range(0, len(sl)-1):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(1, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(2, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(3, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(4, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(5, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(6, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(7, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(8, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(9, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(10, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(11, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(12, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(13, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

for i in range(14, len(sl)):
if fld.has_key(i):
node.setAttribute(fld, sl)

attrDS = outDs
attrDS.append()
attrDS = ‘tst’
attrDS = ‘CESNACLV000’
attrDS = ‘BDRNN’
outDs ='<?xml version=“1.0” encoding=“windows-1251”?>'+ Doc.xml
del root_node
del Doc
shiza
а можно еще полный трейсбек ошибки =)
на какую строчку он ругается.

пока что я подозреваю, что происходит эта ошибка в msxml =)
Vjn
не показывает на какую строку ругается…
просто сообщение:

pywintypes.com_error: (-2147024882, ‘\315\345\344\356\361\362\340\362\356\367\355\356\357\340\354\377\362\350\344\353\377\347\340\345\360\370\345\355\350\377\356\357\345\360\340\366\350\350.’, None, None)

дело в том что с файлом такой же структуры небольшого объёма всё отрабатывает как “часы”!
Vjn
Да кстати система транспортировки записывает эти полученные файлы(сообщения) в базу поле для сообщения LONG RAW
shiza
хм. вот в этой строчке
'\315\345\344\356\361\362\340\362\356\367\355\356\357\340\354\377\362\350\344\353\377\347\340\345\360\370\345\355\350\377\356\357\345\360\340\366\350\350.'
на самом деле написана ошибка, тока проблема тут с кодировкой, поэтому не фига не понятно.
shiza
надобы это дело выполнить на системе, в которой msxml - английский, чтоб ошибку прочитать. =)
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