Está en la página 1de 11

Optativa III

JSON-Tuplas-Diccionarios-Archivos

Presentado por:
BYRON GONZALO BARCO MORAN

Docente:

ING. GUAMAN UZHCA ERNESTO SEGUNDO

UNIVERSIDAD ESTATL DE MILAGRO


FACULTAD ACADEMICA DE CIENCIAS DE LA INGENIERIA
PROYECTO INVESTIGATIVO
ECUADOR
2015

Optativa III
2
TABLA DE CONTENIDO
1.

Introduccin.......................................................................................................................3

2.

Json....................................................................................................................................3

3.

XML...................................................................................................................................4
3.1

Que es XML............................................................................................................4

3.2

Que no es XML..........................................................................................................4

4.

XML vs JSON....................................................................................................................4

5.

XML y JSON en Python....................................................................................................5


5.1.1

6.

7.

Manipulacin en Python....................................................................................................7
6.1

Tuplas.........................................................................................................................7

6.2

Diccionario.................................................................................................................7

Conclusin.........................................................................................................................8
7.1

8.

Leer un XML.............................................................................................6

Archivos (abrir - leer - escribir)..................................................................................8

7.1.1

Abrir Fichero.............................................................................................9

7.1.2

Leer Fichero...............................................................................................9

7.1.3

Escribir Fichero.........................................................................................9

Bibliografa......................................................................................................................10

Optativa III
3

1. Introduccin
Esta investigacin est encaminada para observas las caractersticas de Python componentes
que los constituyen y el uso de estos, tambin consideramos importante la comparacin con XML
y Json ya que su protagonismo en Python y en otros lenguaje es muy importante dependiendo su
funcionamiento e intercambio de datos.
Json es una sencilla, rpida, completa y extensible biblioteca para codificar y decodificar
elementos JSON para Python. Est escrita enteramente en este lenguaje, no posee dependencias y
tiene una extensin adicional desarrollada en C para incrementar considerablemente su
velocidad. XML es muy parecido Json lo que cambia es su extensibilidad ya que este permite el
intercambio de cualquier tipo de datos.

2. Json
JSON (JavaScript Object Notation - Notacin de Objetos de JavaScript) es un formato
ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las
mquinas es simple interpretarlo y generarlo. Est basado en un subconjunto del Lenguaje de

Programacin JavaScript, Standard ECMA-262 3rd Edition - Diciembre 1999. JSON es


un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones
que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo
C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON
sea un lenguaje ideal para el intercambio de datos.

JSON est constitudo por dos estructuras:

Optativa III
4
Una coleccin de pares de nombre/valor. En varios lenguajes esto es conocidos como
un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo
asociativo.
Una lista ordenada de valores. En la mayora de los lenguajes, esto se implementa
como arreglos, vectores, listas o secuencias. (Json).

3. XML
Especificacin para disear lenguajes de marcado, que permite definir etiquetas
personalizadas para descripcin y organizacin.
3.1 Que es
XML

XML es un subconjunto de SGML(Estndar Generalised Mark-up Lenguaje),simplificado


y adaptado a Internet

XML no es, como su nombre puede sugerir, un lenguaje de marcado.


XML es una meta-lenguaje que nos permite definir lenguajes de marcado adecuados a
usos determinados.
3.2

Que no
es XML

No es una versin mejorada de HTML


HTML es una aplicacin de SGML por lo tanto de XML
No es un lenguaje para hacer pginas WEB
Y sobre todo no es difcil (Albasanz)

4. XML vs JSON

Optativa III
5
Json como lo dice en la definicin es un formato ligero de intercambio de datos, y XML es
casi parecido, trabaja con el mismo Estndar Unicode. Con JSON, est limitado a almacenar slo
datos clsicos como texto y nmeros. Sin embargo, XML le permite almacenar cualquier tipo de
datos. Esto hace que Json sea ms flexible para el intercambio de datos ya que no tiene que
validar tantos formatos o tipos de datos como lo hace XML.
Otro aspecto comn que comparte JSON y XML es la implementacin de datos autodescritos e internacionalizacin.
Los ficheros JSON son ms restrictivos y por lo tanto ligeramente ms legibles. Esto se debe
a que el nmero de formatos de datos permitidos por JSON es mucho menor que XML

5. XML y JSON en Python


Cdigo en Json

>>> Import json


>>> json. Vertederos (['foo', {'bar': ('baz', Ninguno, 1.0,
"[" foo ", {" bar ": [" baz ", null, 1.0,0, "b": 0, "c": 0}
>>> desde StringIO importacin StringIO
>>> io = StringIO ()
>>> json. Volcar (['API streaming'], io)
>>> io. GetValue ()
'["API de streaming"]'

Cdigo XML
Con el XML que trabajaremos en esta entrada es:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<agenda>
<contacto>
<nombre>Ariadna</nombre>
<apellido>Bouzo</apellido>
<numero tipo="tel">43050412</numero>
<direccion>okla 4501</direccion>
</contacto>
<contacto>
<nombre>Arturo Elias</nombre>
<apellido>Anton</apellido>
<numero tipo="cel">1563442356</numero>

2)}])

Optativa III
6
<direccion>pepiri 1524</direccion>
</contacto>
<contacto>
<nombre>Pedro</nombre>
<apellido>Colono</apellido>
<numero tipo="cel">1565214578</numero>
<direccion>av Colon 1245</direccion>
</contacto>
<contacto>
<nombre>Eduardo</nombre>
<apellido>Ramos</apellido>
<numero tipo="tel">45213652</numero>
<direccion>Luna 4512</direccion>
</contacto>
<contacto>
<nombre>Rocio</nombre>
<apellido>Gomez</apellido>
<numero tipo="cel">1551253652</numero>
<direccion>Cordoba 1254</direccion>
</contacto>
</agenda>

5.1.1

Leer un XML

Para leer un XML lo primero que haremos es importar xml.dom.minidom luego


obtendremos un objeto que represente nuestro documento xml1.xml mediante la
palabra xml.dom.minidom.parse de la siguiente manera:
#!/usr/bin/python
# Nombre : xml1.py
import xml.dom.minidom
xmldoc = xml.dom.minidom.parse("./xml1.xmlor n in
xmldoc.getElementsByTagName("contacto"):
print n.toxml()
print n.firstChild.data
for n in xmldoc.getElementsByTagName("nombre"):
print n.toxml()
print n.firstChild.data
for n in xmldoc.getElementsByTagName("direccion"):
print n.toxml()
print n.firstChild.data
for n in xmldoc.getElementsByTagName("numero"):
print n.toxml()
print n.firstChild.data
print n.getAttribute("tipo")
print n.attributes.keys()
print n.attributes["tipo"].value

Optativa III
7

6. Manipulacin en Python
6.1

Tuplas

Las tuplas son objetos inmutables que se asemejan a las listas: se tiene acceso a sus
componentes por indexacin. Las tuplas son representadas por parentesis y, dentro de ellos, los
valores de las componentes (sean o no del mismo tipo). (Nicolas)
Ejemplo:
tupla = (1,[2,3,4],2,"Pedro");
for r in tupla:
print str(r)

6.2

Diccion
ario

Diccionarios Conocidos en otros lenguajes como Hashes (Perl), arreglos asociativos (PHP)
o hashmaps (Java), los diccionarios en Python son contenedores de pares clave-valor. A simple
vista, son simplemente arreglos o listas cuyos ndices son cadenas en vez de ser nmeros enteros.
Internamente la diferencia es mucho mayor, ya que se implementan como tablas hash en vez de
listas.
Los diccionarios no preservan el orden de los elementos: ste depende de las claves que se
usen, del orden en el que se ingresan los datos y de otros factores. Adems, no se puede iterar
directamente sobre los elementos, aunque Python provee funciones para hacerlo (y tambin para
iterar sobre las claves).
Para crear un diccionario, escribimos los pares clave-valor entre llaves, separando cada par
por una coma:

Optativa III
8
__author__ = 'Byron'
mi_diccionario = { 'nombre': 'Juan', 'apellido': 'Perez', 'pais':'Uruguay' }
print mi_diccionario['nombre']

Ejemplo:
De esta forma se declara un diccionario
futbolistas = dict()
futbolistas = {
1 : "Casillas", 15 : "Ramos",
3 : "Pique", 5 : "Puyol",
11 : "Capdevila", 14 : "Xabi Alonso",
16 : "Busquets", 8 : "Xavi Hernandez",
18 : "Pedrito", 6 : "Iniesta",
7 : "Villa"
}

7. Conclusin
En este contenido sea podido recabar informacin sobre el manejo de Python y sus
componentes tambin se ha determinado las diferencia de Json y XML lo cual tos don son muy
buenos y usados por los programadores pero si hablamos de intercambio de datos clsicos el
mejor es Json. Tambin en este contenido hemos recabado informacin bsicas de programacin
con respecto a cdigo en el cual podemos darnos cuenta que Python nos permite manejar de
forma sencilla el cdigo a diferencia de otros lenguajes.
7.1

Archivo
s (abrir
- leer escribir)

Optativa III
9
En Python los ficheros se abren con la funcin open(). Como primer parmetro se pasa el
nombre del fichero y como segundo parmetro una cadena con caracteres similares a los
de fopen() de C. Varios ejemplos:

7.1.1

Abrir fichero de lectura: f = open("fichero.txt")


Abrir fichero de lectura: f = open("fichero.txt", "r")
Abrir fichero de lectura en binario: f = open("fichero.txt", "rb")
Abrir fichero para escribir desde cero: f = open ("fichero.txt", "w")
Abrir fichero para aadir al final: f = open ("fichero.txt", "a")

Abrir Fichero

>>> f =open("C:/Users/Byron/Desktop/gg.txt")

7.1.2

Leer Fichero

Para leer del fichero, podemos usar las funciones f.read() y f.readline()
Lectura de todo el fichero de golpe : dato = f.read()
Lectura de 100 bytes : dato = f.read(100)
Lectura de una lnea completa : dato = f.readline()
>>> f.read()
7.1.3

Escribir Fichero

Para escribir el fichero desde cero, machando su contenido si lo hubiera


Ejemplo:
>>> f =open("C:/Users/Byron/Desktop/gg.txt")
>>> f.read()
''
>>> f =open("C:/Users/Byron/Desktop/gg.txt","w")
>>> f.write("hola mundo")

Optativa III
10
>>> f.close()
>>> f =open("C:/Users/Byron/Desktop/gg.txt")
>>> f.read()
'hola mundo'
Para escribir sobre un fichero existente, aadiendo al final
>>> f =open("C:/Users/Byron/Desktop/gg.txt","a")
>>> f.write("\nEditandoeste fichero jajaja jajaa")
>>> f.close()
>>> f =open("C:/Users/Byron/Desktop/gg.txt")
>>> f.read()
'hola mundo\nEditandoeste fichero jajaja jajaa'

8. Bibliografa
Albasanz, C. (s.f.). rea de Programacin y Desarrollo. Obtenido de Manual de XML:
http://www.mundolinux.info/que-es-xml.htm
chuwiki.chuidiang. (5 de Noviembre de 2012). chuwiki.chuidiang. Obtenido de
http://chuwiki.chuidiang.org/index.php?title=Leer_y_escribir_ficheros_en_python
Json. (s.f.). Introduccin a JSON. Obtenido de http://www.json.org/json-es.html
Moya, R. (2015). Jrroba. Obtenido de http://jarroba.com/diccionario-python-ejemplos/
Nicolas. (s.f.). Blog de Nicolas2324. Obtenido de
https://nicolas2324.wordpress.com/2012/09/30/python-tuplas-y-listas/
pythonr2. (28 de Agosto de 2008). Tuplas en Python. Obtenido de
https://pythonr2.wordpress.com/2008/08/27/tuplas-en-python/

Optativa III
11
Undemy.com. (2015). Blog.Undemy. Obtenido de JSON vs XML: https://blog.udemy.com/jsonvs-xml-como-json-es-superior-a-xml/
Web, M. d. (s.f.). Gua Python: Manejando archivos, diccionarios y funciones. Obtenido de
http://www.maestrosdelweb.com/guia-python-manejando-archivos-diccionarios-yfunciones/

También podría gustarte