Entradas

Mostrando las entradas etiquetadas como iso-8859-1

Python - Unicode

Imagen
Unicode es un sistema para representar caracteres de todos los diferentes idiomas del mundo. Cuando Python analiza un documento XML, todos los datos se almacenan en memoria como Unicode. Antes de Unicode había diferentes sistemas de codificación de caracteres para cada idioma, cada uno usando los mismos números (0-255) para representar los caracteres de ese lenguaje. El problema radicaba cuando se quería intercambiar documentos entre sistemas heterogéneos, restultando difícil, puesto que no había manera de que un ordenador supiera con certeza qué esquema de codificación de caracteres había usado el autor del documentom y los números pueden significar muchas cosas (en japonés el carácter codificado 234 no es el mismo que el carácter codificado ruso 234, ni en español, que 234 es Û). Para resolver este problema Unicode representa cada carácter como un número de 2 bytes (de 0 a 65535). Cada número de 2 bytes representa un único carácter utilizado en al menos un idioma del mundo (los carac...

XML y Python - Operaciones básicas y II

Acceso a atributos en árbol DOM Como antes, para acceder a atributos de elementos, el primer paso es analizar el documento XML utilizando la función minidom.parse(nombre_fichero) para crear el objeto árbol DOM. Utilizamos el atributo childNodes para navegar a través del árbol DOM. from xml.dom import minidom xml_documento = minidom.parse("c:\\python\\agenda.xml") nodos = xml_documento.childNodes Ahora tenemos una lista de los nodos hijos de la raíz del árbol. Solo falta determinar mediante la función hasAttribute(nombre_atributo) si el objeto nodo tiene (devuelve True) ó no tiene (devuelve False) el atributo nombre_atributo. Si el nodo tiene el atributo especificado, se puede recuperar la información de dicho atributo mediante la función getAttribute(nombre_atributo). lista = nodos[0].getElementsByTagName("codigo_referencia") for nodo in lista: if nodo.hasAttribute("fecha"): print nodo.getAttribute("fecha") Creación de árbol DOM Para poder crear ...

Crear una agenda en Python - Segunda parte (funcionamiento)

En este post vamos a seguir en la encrucijada de crear una agenda personal en lenguaje Python, utilizando para ello la interfaz gráfica que nos proporciona el framework wxPython. Puesto que ya hemos creado el diseño, ahora vamos a diseñar el funcionamiento, completamente independientemente del diseño. Esta es una buena opción, ya que si algún día quisiéramos cambiar la interfaz, en principio, no debería tener nada que ver con cómo se guardan datos y se recuperan. Bien, como de lo que se trata es de crear una agenda personal, lo primero que hay que ver, es ¿qué es una agenda para mí? ¿qué debe hacer como funcionamiento mínimo (tampoco es cuestión de desarrollar aquí un Mozilla Sunbird )? La respuesta a esta pregunta se resume a continuación: 1) Una agenda consta de entradas, que se identifican de manera unívoca. 2) A cada entrada yo le podré agregar un texto, de manera que a partir del identificador de entrada (el cual es unívoco) yo pueda acceder a la información que he introducido co...