Gracias Gracias:  0
Resultados 1 al 13 de 13

Tema: Listas python

  1. #1
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Blender Listas python

    Muy buenas, una pregunta.
    he hecho un pequeño script para probar, he creado una lista vacia
    lista = []
    y luego he creado un botón que al pulsarlo me añade la posición de un cubo a la lista,
    mediante append().
    la pregunta es ¿Como puedo hacer para que al guardar el archivo y al volver a abrirlo recuerde esa lista?
    espero haberme explicado bien.
    gracias
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  2. #2
    Ninja Fever Avatar de Mars Attacks
    Fecha de ingreso
    Jun 2003
    Ubicación
    Castellón
    Mensajes
    12,744

    Re: Listas python

    No puedes. Tendrías que guardar esa información en algún tipo de estructura de datos en un fichero del ordenador y recuperarla posteriormente leyéndola de nuevo (y, dependiendo de lo que hagas, podría no ser una lista valida). ¿Qué quieres hacer exactamente?

  3. #3
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Listas python

    Gracias por la respuesta.
    Lo que quería hacer es memorizar la posición de los huesos(que los añadía en la lista) para grabar gestos en el rig facial que estoy haciendo
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  4. #4
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Listas python

    pose library
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  5. #5
    Pythoniano Avatar de JEMV
    Fecha de ingreso
    Aug 2009
    Ubicación
    Republica Dominicana
    Mensajes
    58

    Re: Listas python

    Puedes almacenar el contenido de la lista en un archivo de texto,luego cuando ejecutes el código nuevamente buscas el archivo de texto mediante codigos y agregas el contenido 'a la lista que creaste'.Pero ya sabrás que tendrás que hacer otro pequeno script que vaya dividiendo cada parte del dato que hay en el archivo de texto puesto que si agregas directamente el contenido a la lista se almacenara como un solo elemento.

    suerte!
    Jemv(Jose Ernesto Morales Ventura)

  6. #6
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Listas python

    Si quieres guardar información en un proyecto de blender puedes crear un texto y escribir los datos en él, conel submódulo bpy.ops.text.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  7. #7
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,691

    Re: Listas python

    Y por qué no usas la librería de poses de Blender, que para eso esta y funciona perfectamente?
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  8. #8
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Listas python

    gracias por las respuestas, estoy probando con pose library, pero todavía no me aclaro del todo.
    también probare lo tuyo klopes,aunque igual sea más útil la pose library , bueno es saber lo del texto.
    jemv, lo tuyo me parace un poco más complejo, no domino tampoco mucho el python
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  9. #9
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Re: Listas python

    Cita Iniciado por JEMV Ver mensaje
    Puedes almacenar el contenido de la lista en un archivo de texto,luego cuando ejecutes el código nuevamente buscas el archivo de texto mediante codigos y agregas el contenido 'a la lista que creaste'.Pero ya sabrás que tendrás que hacer otro pequeno script que vaya dividiendo cada parte del dato que hay en el archivo de texto puesto que si agregas directamente el contenido a la lista se almacenara como un solo elemento.
    En python cuentas con excelentes alternativas para serializar información, por ejemplo el módulo pickle y/o cPickle (binario) para estas cosas esta muy muy muy bien (si necesitas archivos legibles a ojo humano el módulo json es más rollo xml)
    - http://docs.python.org/library/pickle.html
    - http://docs.python.org/library/json.html

    Y en cualquier caso, si salvas la lista como un string la puedes recuperar con un simple eval()

    I <3 python
    Última edición por Cesar Saez; 25-04-2011 a las 03:39

  10. #10
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Listas python

    gracias cesar saez, he estado probando y funciona ..!!
    pero cual es la teoria?donde se almacena?es magia?
    también he probado lo de pose library, pero si esto lo puedo utilizar creo que será más comodo.

    por si a alguien le interesa(blender 2.57):

    import pickle

    data = [(0,1,2),(3,4,5),(6,7,1)]
    f = open ('data.pickle','wb') #creamos el archivo qque albergara la lista, con 'wb' le decimos que el archivo esta en modo writable(escribible)
    pickle.dump(data,f,pickle.HIGHEST_PROTOCOL) #con esto añadimos la lista 'data' al archivo 'data.pickle'

    si queremos añadir valores a la lista.

    data.append((3,6,7))
    pickle.dump(data,f,pickle.HIGHEST_PROTOCOL) # como data ha cambiado volvemos a decirle que añada data al archivo
    f.close() #cerramos el archivo data.pickle

    para retomarlo o leerlo:

    f = open('data.pickle','rb') #llamamos al archivo pero en modo lectura 'rb'
    data = pickle.load(f)

    >>> data
    [(0,1,2),(3,4,5),(6,7,1),(3,6,7)]
    Última edición por rulflink; 25-04-2011 a las 19:26
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  11. #11
    Moderador Avatar de Klópes
    Fecha de ingreso
    Jul 2005
    Ubicación
    Estuve el día que llovió en los Monegros
    Mensajes
    7,987

    Re: Listas python

    rulflink, el módulo pickle se encarga de guardar los datos de forma ordenada y estructurada, incluyendo los tipos y longitudes. De esa manera no necesites controlar qué estas escribiendo y leyendo directamente. Es la forma rápida y eficiente de manejar ficheros en python.
    ...y estaba superbueno.
    Y miré su perfil. Y vi que era amigo de Daniela. Puaf.


    Dos niñas en el parque

    no se elevará, nunca más

  12. #12
    Senior Member
    Fecha de ingreso
    Sep 2008
    Ubicación
    VALENCIA
    Mensajes
    186

    Re: Listas python

    Buenas, he investigado sobre las dos vertientes (POSE LIBRARY y MODULO PICKLE). y en las dos me he quedado atascado.
    A ver si alguien me puede ayudar.

    POSE LIBRARY: mi intención es cambiar las poses mediante sliders, lo único que se me ha ocurrido es añadirle constraints ACTION a los huesos con target en un empty en location x,
    entonces seria la posición del empty lo que moveria el slíder para colocar una pose, no hay ningún problema hasta que intento mover un hueso..., que se vuelve loco.
    ¿Como podría añdirle un driver a una pose de pose library sin pasar por colocar acciones?

    MODULO PICKLE: ya se crear el archivo donde se añadiran los datos, incluso puedo hacer la carpeta real(f = open('/tmp/nombre.txt','wb')), pero así solo funcionaria en mi propio ordenador,
    no se como puedo fijar el archivo dentro de mi archivo blend.(como empaquetar texturas), para que si yo cambiara el archivo de ordenador pudiera seguir trabajando, para así ser más comodo
    y no tener que acordarse de guardar el archivo.

    espero haberme explicado bien. GRACIAS
    si quieres ver algo mas...... www.rulflinks.blogspot.com

  13. #13
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Re: Listas python

    Yo ni idea de Blender pero siempre puedes salvar/cargar el serializado de pickle a un string y guardarlo en un atributo de la escena (¿se pueden crear custom attributes en blender?).
    El código es prácticamente igual, pickle.dumps() y picle.loads()

    De todas formas, me extrañaría mucho que teniendo una herramienta para salvar/cargar poses tengas que re-programarla por ti mismo... seguro que mirando la documentación puedes llegar a algo que te funcione con las herramientas de serie... no lo descartes de entrada sólo porque python mola mucho

Temas similares

  1. Python
    Por JEMV en el foro Videojuegos
    Respuestas: 1
    Último mensaje: 05-09-2009, 18:54
  2. Python
    Por marceze en el foro Problemas con Programas
    Respuestas: 9
    Último mensaje: 17-09-2007, 23:01
  3. Python
    Por jeenyus en el foro Programación y Scripts
    Respuestas: 7
    Último mensaje: 03-02-2007, 01:43
  4. Respuestas: 83
    Último mensaje: 24-04-2006, 18:07
  5. aPI de Python
    Por Klópes en el foro Plugins
    Respuestas: 3
    Último mensaje: 24-03-2006, 12:11

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •