Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Arnau27 en 15 Diciembre 2013, 19:59 pm



Título: [Python]Índice de la lista fuera de rango
Publicado por: Arnau27 en 15 Diciembre 2013, 19:59 pm
Buenas,
Estoy manejando bases de datos con el modulo sqlite3 y me salta un error en un trozo de código que al ejecutarlo linia por linia en la IDLE no ocurre es por eso que ando perdido.

Código
  1. t=0
  2. tdb=sqlite3.connect("TemporaryDB.db")
  3. tcur=tdb.cursor()
  4.  
  5. tcur.execute('''SELECT Fase FROM users''')
  6. tfetch0=tcur.fetchall()
  7. l_tfetch0=(tfetch0[t])
  8. tfase_data=(l_tfetch0[0])
  9. tfase_data=int(tfase_data)
  10.  
Si yo se que existen dos elementos en la tupla no entiendo como me indica que está fuera de rango. Al escribir fetchall() me devuelve una tupla, luego selecciono el elemento de la tupla (que es una lista) y posteriormente selecciono el elemento 0 de la lista ya que solo hay 1 elemento, aqui la aclaración:
Código
  1. >>>db=sqlite3.connect("TemporaryDB.db")
  2. >>> cur=db.cursor()
  3. >>> cur.execute("SELECT Fase FROM users")
  4. <sqlite3.Cursor object at 0x632ea0>
  5. >>> fetch=cur.fetchall()
  6. >>> fetch
  7. [(13,), (14,)]
  8. >>> fetch[1]
  9. (14,)
  10. >>> v=fetch[1]
  11. >>> v[0]
  12. 14
  13.  
Espero que me podáis ayudar un poco ;)


Título: Re: [Python]Índice de la lista fuera de rango
Publicado por: Max00355 en 3 Enero 2014, 22:30 pm
¿Tiene sucenda quien tu ejecuta en el terminal?