[Python] Strana eccezione
piergiorgio pancino
piertoni a yahoo.it
Mar 6 Maggio 2014 10:28:40 CEST
Ciao a tutti,
sto scrivendo un bridge che importa all'interno di un database alcuni dati da files csv.
Ho testato le varie parti singolarmente (download ftp, parsing csv/xml, inserimento dei record nel database).
Ora sto unendo le varie parti per creare l'automatismo e mi ritrovo con uno strano errore che sembra dovuto al garbage collector in fase conclusiva.
Non capisco se questo sia dovuto ad un errore di Python (sto usando Portable Python 3.2.5.1) che ho notato a volte ha dei comportamenti strani a seconda se utilizzo l'interprete remoto o esterno.
Se lo eseguo dalla riga di comando i passaggi sembrano essere tutti in regola, ma alla fine mi da:
Exception IndexError: IndexError:('tuple index out of range'), in <module 'threading' from 'C:\....\Portable Python 3.2.5.1\App\lib\threading.py>
Se lo eseguo dall'editor alla stessa maniera i passaggi sembrano essere fatti tutti, ma alla fine mi da quanto segue:
Exception IndexError: 'tuple index out of range' in 'garbage collection' ignored
Traceback (most recent call last):
File "<string>", line 73, in execInThread
File "<string>", line 44, in __call__
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\netref.py", line 196, in __call__
return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\netref.py", line 71, in syncreq
return conn.sync_request(handler, oid, *args)
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\protocol.py", line 431, in sync_request
self.serve(0.1)
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\protocol.py", line 379, in serve
data = self._recv(timeout, wait_for_lock = True)
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\protocol.py", line 337, in _recv
data = self._channel.recv()
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\channel.py", line 50, in recv
header = self.stream.read(self.FRAME_HEADER.size)
File "C:\Users\ppancino.SBP\Portable Python 3.2.5.1\App\lib\site-packages\rpyc\core\stream.py", line 166, in read
raise EOFError(ex)
EOFError: [Errno 10054] Connessione in corso interrotta forzatamente dall'host remoto
Ora, è chiaro che le informazioni sono poche, non posso certo postarvi tutto il codice, ma vorrei sapere se questo tipo di errore vi dice qualcosa dal momento che non ho idea di cosa possa essere.
Se può essere utile vi posto il codice dello script che mette assieme le altre librerie che ho sritto per avviare l'importazione automatizzata.
import ftp_connection
from rapportini_parsing import rapportini_parser
import SQLServer_connection
import sys
if __name__ == '__main__':
try:
#iterabile contenente vari file rapportino
csv_rapportino=ftp_connection.ftp_importazione()
#parsing rapportini
#creazione oggetto gestione database
db=SQLServer_connection.DB_connection().connect()
for rapportino in csv_rapportino:
#a ciascun rapportino corrisponde una stringa contenente a sua volta uno o piu' rapportini
for element in rapportini_parser(rapportino).rapportini_output:
SQLServer_connection.inserimento_rapportino(db, element,commit= "FALSE")
except:
sys.exit()
finally:
csv_rapportino.__exit__()
db.__exit__()
Grazie per qualunque eventuale suggerimento
Piergiorgio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140506/e3b45517/attachment-0001.html>
Maggiori informazioni sulla lista
Python