#include
int main(void)
{
int i;
for(i=0;i<10 b="b" i="i">10>
{
system("iceweasel http://galegolinux.blogspot.com.es/");
}
printf('''El programa ha terminado''')
return 0;
}
test expresiónó
[ expresión ]Un ejemplo de expresión sería [ 3 -eq 5 ] que comprueba si el valor 3 es igual a 5. Como es incorrecto, el valor que devuelve es falso. Los símbolos [ y ] tienen que estar obligatoriamente separados por un espacio.
numero1 -eq numero2: Devuelve verdadero si 'numero1' es igual a 'numero2'. numero1 -ge numero2: Devuelve verdadero si 'numero1' es igual o mayor a 'numero2'. numero1 -gt numero2: Devuelve verdadero si 'numero1' es mayor a 'numero2'. numero1 -le numero2: Devuelve verdadero si 'numero1' es igual o menor a 'numero2'. numero1 -lt numero2: Devuelve verdadero si 'numero1' es menor a 'numero2'. numero1 -ne numero2: Devuelve verdadero si 'numero1' no es igual a 'numero2'.
cadena1 = cadena2: Devuelve verdadero si 'cadena1' es idéntica a 'cadena2'. cadena1 != cadena2: Devuelve verdadero si 'cadena1' no es idéntica a 'cadena2'. cadena1: Devuelve verdadero si 'cadena1' es nulo (no significa que su longitud sea cero). -n cadena1: Devuelve verdadero si la longitud de caracteres de 'cadena1' es mayor que cero. -z cadena1: Devuelve verdadero si la longitud de caracteres de 'cadena1' es cero.
-d nombrefichero: Devuelve verdadero si el fichero es un directorio. -f nombrefichero: Devuelve verdadero si el fichero es un archivo. -r nombrefichero: Devuelve verdadero si el fichero puede ser leído. -w nombrefichero: Devuelve verdadero si el fichero puede ser escrito. -x nombrefichero: Devuelve verdadero si el fichero es ejecutable.
!expresión: Devuelve verdadero si la expresión no se cumple. expresión1 -a expresión2: Devuelve verdadero si la expresión1 y la expresión2 se cumplen (también vale &&). expresión1 -o expresión2: Devuelve verdadero si la expresión1 o la expresión2 se cumplen (también vale ||).
if [ expresión ] then comandos fi
if [ expresión ] then comandos else comandos fi
if [ expresión1 ] then comandos elif [ expresión2 ] then comandos else comandos fi
case cadena in cadena1) comandos ;; cadena2) comandos ;; *) comandos ;; esacSe comprueba cadena. Si concuerda con cadena1 se ejecutará los comandos correspondientes hasta llegar a ;;. Lo mismo ocurre con cadena2. Si cadena no coincide con cadena1 o cadena2 entonces se ejecutará *. Se puede añadir tantas cadenas de verificación como uno desee.
for (( inicializador; condición; incremento )) do comandos doneSu sintaxis es casi idéntica a C. Aquí un ejemplo:
while [ expresión ] do comandos done
until [ expresión ] do comandos done
man: muestra manual del comando que le indiquemos. --help: da una ayuda de los comandos.
ls: lista los archivos y directorios. sort: ordena alfabéticamente una lista de archivos. cd: cambio de directorio. pwd: muestra la ruta al directorio actual. tree: muestra la estructura de directorios y archivos en forma gráfica. mkdir: crea un directorio. rmdir: borro directorios. rm -r: borra directorios no vacíos. cp: copia archivos. rm: borra archivos. mv: mueve o renombra archivos y directorios. cat: ve el contenido de uno o varios archivos. more: ve el contenido de los archivos. less: ve el contenido de los archivos. split: dividir archivos. find: busca archivos. locate: localiza archivos según una lista generada. updatedb: actualiza la lista de los archivos existentes. whereis: muestra la ubicación de un archivo. file: muestra el tipo de archivo. whatis: muestra descripción del archivo. wc: cuenta líneas palabras o caracteres en un archivo. grep: busca un texto en archivos. head: muestra el inicio de un archivo. tail: muestra el final de un archivo. tailf: muestra el final de un archivo y lo que se añada en el instante (logs). tr: reemplaza caracteres en un fichero de texto. sed: cambia una cadena de caracteres por otra. join: cruza la información de dos archivos y muestra las partes que se repiten. paste: toma la primera línea de cada archivo y las combina para formar una línea de salida. uniq: elimina líneas repetidas adyacentes del archivo entrada cuando copia al archivo salida. cut: sirve para seleccionar columnas de una tabla o campos de cada línea de archivo. ln: crea enlaces a archivos o carpetas. diff: muestra las diferencias entre dos archivos. fuser: muestra que usuario tiene en uso o bloqueado un archivo o recurso. tar: empaqueto archivos. gzip: comprime archivos gz. gunzip: descomprime archivos gz. compress: comprime archivos Z. uncompress: descomprime archivos Z. chmod: cambio permisos a archivos y directorios. chown: cambio de propietario. chgrp: cambio de grupo. vi: abre el editor de texto vi. pico: edita un fichero de texto.
adduser: agregó nuevo usuario. useradd: agregó nuevo usuario. userdel: borra un usuario. passwd: permite cambiar la contraseña. su: cambio de usuario. whoami: muestra el nombre de usuario. logname: muestra el nombre de usuario. id: muestra datos de identificación del usuario. finger: da información de usuario. chfn: cambia la información del finger. who: muestra los usuarios del sistema. w: muestra un detalle de los usuarios. last: información de los últimos usuarios que han usado el sistema. mail: programa de correo. pine: lector de correo en modo texto. write: manda un mensaje a la pantalla de un usuario. mesg: activo o desactivo recibir mensajes. wall: mensaje a todos los usuarios. talk: establecer una charla con otro usuario. banner: saca letrero en la pantalla. set: da información sobre el entorno del usuario. addgroup: agregó nuevo grupo. groupadd: agregó nuevo grupo. chown: cambia el propietario de un fichero.
top: muestra los procesos que se están ejecutando y permite matarlos. ps: muestra la lista de procesos del usuario. ps aux: muestra la lista de procesos de la máquina. kill: mata proceso por ID. killall: mata proceso por nombre. time: mide el tiempo que tarda un proceso en ejecutarse. fg: trae a primer plano un proceso parado o en segundo plano. bg: pone un proceso en segundo plano. &: colocado al final de la línea de comando ejecuta en segundo plano. nice: ajusta la prioridad de un proceso de -20 a 19.
mount: monta un disco. umount: desmonta un disco. df: muestra el espacio libre de los discos. du: muestra el espacio usado por el disco o un directorio. mkfs: formateo un disco. fsck: estado del disco. fdisk: gestión de particiones.
netstat: muestra estado de la red. ifconfig: muestra la configuración del dispositivo de red. iwconfig: muestra la configuración del dispositivo de red inalámbrico. nmap: escanea la red y muestra los puertos que se encuentran disponibles. ping: indica si hay respuesta por parte del servidor. nslookup: me da la IP de nuestro servidor DNS. telnet: me conecto a un equipo remotamente. netconf: configuro la red. ntop: muestra los procesos de la red. route -n: muestra la tabla de rutas.
rlogin: se conecta a otra máquina de forma remota (remote login). rsh: se conecta a otra máquina de forma remota (remote shell). ftp: se conecta a otra máquina por el protocolo ftp. reboot: reinicia la máquina. halt: apaga el sistema. shutdown: apaga el sistema. init0: apaga la máquina. init6: reinicia la máquina. uptime: muestra el tiempo transcurrido de encendida la máquina. exit: cierro sesión actual. logout: salgo del sistema. nohup: proporciona inmunidad frente a rupturas de comunicación.. dmesg: muestra mensajes del arranque del ordenador. history: muestra todos los comandos digitados por el usuario. uname: da información del sistema operativo. tee: copia la entrada estándar a la salida estándar y a un archivo. host: muestra la dirección IP del servidor en una red local. hostname: muestra el nombre del servidor. umask: muestra y permite cambiar la máscara de usuario. chroot: cambia la raíz para que root ejecute algo en forma particular. chsh: cambia el login shell. free: estado de la memoria. date: muestra fecha y hora actual. cal: muestra calendario. clear: borro la pantalla. at: ejecuta un comando más tarde. env: ver variables de entorno. export: permite el uso de variables por programas en todos los caminos del usuario. modprobe: cargo modulo. startx: arranca el servidor X. xev: muestra los eventos de las teclas y el ratón. lspci: muestra los periféricos conectados al puente pci. lsmod: muestra los modulos cargados en el sistema. echo: escribe un mensaje en la salida estándar. alias: crear un alias. Un comando largo abreviado en pocas letras. unalias: borrar un alias. bc: calculadora. mc: ejecuta Midnight Commander. xkill: mata una ventana gráfica. rpm: instala los paquetes rpm RedHat. dpkg: instala los paquetes deb Debian. kernelcfg: manejo los modulos cargados en el kernel. insmod: inserta modulos en el kernel. rmmod: elimina modulos del kernel. updatedb: actualiza la base de datos interna de archivos. sh: cambia al bash shell. setxkbmap: por si no funcionan las teclas con AltGr en modo X.
>>> A este simbolo se le llama el prompt de python y sera el encargado de decir donde empieza una linea de código.$ python
Python 2.3.3 (#1, Dec 30 2003, 08:29:25)
[GCC 3.3.1 (cygwing special)] on cygwin
Type “help”, “copyright”, “credits” or “license” for more
information.>>>
Ejemplo:Un comando simple:>>> import sys>>> sys.exit()
—————————————————————————————————————————————————————–>>> print “Hola Mundo”
Hola Mundo
Es importante localizar la dirección donde se encuentra el interprete esto se hace tecleando en consola.python archivo.py
El resultado de esto es la primera linea que colocamos en nuestro script como se verá a continuación:which python
—————————————————————————————————————————————————————–#!/usr/bin/pythonprint “Hola mundo!”
Ejemplo: # comentarios de una línea se indican con carácter ‘#’
—————————————————————————————————————————————————————–Ejemplo:“”"
Este es un comentario de varias lineas
Este es un comentario de varias lineas
Este es un comentario de varias lineas
“”"
Equivalente aImport sys
sys.stdout.write(“Hola mundo!”)
—————————————————————————————————————————————————————–print “Hola mundo!”
Es muy parecido a la filosofía usada para el print, ya que en este caso haremos uso delraw_input(“Mensaje por pantalla”)
Equvalente aImport sys
variabledeSalida=sys.stdin.read(entero)
entero es el largo de la cadena a leer
—————————————————————————————————————————————————————–variabledeSalida=raw_input(“Mensaje por pantalla”)
#!/usr/bin/python
name = “Luis1″ # asignación de valor a variable
if name == “Luis”:
print “Hola Luis”
else:
print “¿Quién eres?”
print “¡No eres Luis!”
$ python bloque.py
—————————————————————————————————————————————————————–¿Quién eres?
¡No eres Luis!
if condicion:sentencia1
sentencian
else:
sentencia11
sentencia nn
if condicion:sentencia1
sentencian
else:
sentencia11
sentencia nn
if condicion:
—————————————————————————————————————————————————————–sentencia1
sentencian
elif condicion:sentencia11
sentencia nn
for x in range(1,5):
print x
$ python bucle.py
1 2 3 4
reply = ‘repite’
>>> while reply == ‘repite’:
print ‘Hola’
reply = raw_input(‘Introduce “repite” para hacerlo de nuevo’)
Strings, delimitados por un par de (‘, ” ). Dos string juntos sin delimitador se unen>>> x = 4
>>> int (x)
4>>> long(x)
4L>>> float(x)
4.0>>> complex (4, .2)
(4+0.2j)
Algunos de los métodos que se pueden aplicar a un string son:>>> print “Hi” “there”
Hithere
—————————————————————————————————————————————————————–>>> len(‘La vida es mucho mejor con Python.’)
>>> 34>>> ‘La vida es mucho mejor con Python.’.upper()‘LA VIDA ES MUCHO MEJOR CON PYTHON’>>> “La vida es mucho mejor con Python”.find(“Python”)
27>>> “La vida es mucho mejor con Python”.find(‘Perl’)
1>>> ‘La vida es mucho mejor con Python’.replace(‘Python’, ‘Jython’)
‘La vida es mucho mejor con Jython’
—————————————————————————————————————————————————————–>>> import string
>>> s1 = ‘La vida es mejor con Python’
>>> string.find(s1, ‘Python’)
21‘%’ es el operador de formateo de cadenas:
>>> variable = ‘muchachos’
>>> “Hola %s %s” % (variable, “Como estan”)
‘La capital de Araba es Gasteiz’
—————————————————————————————————————————————————————–>>> meses = ["Enero", "Febrero"]
>>> print meses[0]
Enero
Puede ser representada como:1 2 3
7 8 9
4 5 6
Matriz es una lista con tres elementos, siendo cada elemento una fila de la matriz.Podemos elegir una fila entera de la matriz de la forma normal:>>> matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Añadir un elemento a la lista: append añade un elemento al final de la lista>>> matriz[1]
[4, 5, 6]
Dos puntos (:) es el operador de rodajas, permite trabajar con una porción de la lista, el elemento indicado por el segundo parámetro no se incluye:>>>meses=["enero","Febrero"]
>>> meses.append(“Marzo”)
>>> print meses
['Enero', 'Febrero', 'Marzo']
Para usar una lista como una pila, se pueden usar append y pop:>>> print meses[1:2]
['Febrero']
Nota: Para mayor documentación sobre las metodos que se le pueden aplicar a una lista pydoc list>>> items.append(555)
>>> items [1, 4, 6, 555]
>>> items.pop( )
Las listas pueden contener cualquier tipo de objetos Python:| L.append(object) append object to end
| count(…)
| L.count(value) > integer return number of occurrences of value
| extend(…)
| L.extend(iterable) extend list by appending elements from the iterable
| index(…)
| L.index(value, [start, [stop]]) > integer return first index of value
| insert(…)
| L.insert(index, object) insert object before index
| pop(…)
| L.pop([index]) > item remove and return item at index (default last)
| remove(…)
| L.remove(value) remove first occurrence of value
|
| reverse(…)
| L.reverse() reverse *IN PLACE* |
—————————————————————————————————————————————————————–>>> meses=["Enero","Febrero"]
>>> meses1=["Marzo","Abril"]
>>> meses.append(meses1)
>>> print meses
['Enero', 'Febrero', ['Marzo', 'Abril']]
meses.append(1)
>>> print meses
['Enero', 'Febrero', ['Marzo', 'Abril'], 1]
—————————————————————————————————————————————————————–>>> items = [4, 6]
>>> items.insert(0, 1)
>>> print items
[1, 4, 6]
—————————————————————————————————————————————————————–>>> print meses+meses
['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero',
'Marzo']
lst=[1,”cad”,[1,2],12]print lst #imprime la lista completa
print lst[1] #imprime cad
print lst[1][2] se imprime la d de cad
print lst[2][1] imprime el segundo componente del segundo componente de la lista es decir el 2
—————————————————————————————————————————————————————–>>>print lst[1:3]#imprime [1,2] no incluye los extremos con respecto al índice
>>>print lst[2:]# imprime la posicion 2 incluyendo el ultimo elemento de la lista
>>>print lst[:2]# imprime desde el primero hasta el de la posición 21 no incluye el extremo
Ayudas en consola pydoc range me da documentacion sobre esta funcion.st=range(20) #Esta funcion lo que me crea es una lista que va desde el 0 al 19. no incluye
el 20
>>> lst=range(20)
>>> print lst
sintáxis de la función range
range([start,] stop[, step]) #nota no incluye el extremo final es decir stop
—————————————————————————————————————————————————————–range(0,20,4)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>print lst[5:15:2] #imprime comenzando en la posición 5 hasta el 15 sin incuirlo con un
paso de 2
[5, 7, 9, 11, 13]
>>>
>>> import string
>>> cancion = “La lluvia en Mérida…”
>>> string.split(cancion)
[’La’, ’lluvia’, ’en’, Mérida...’]
>>> string.split(cancion, ’ll’)
[’La ’, ’uvia en Mérida’]
>>> lista = [’La’, ’lluvia’, ’en’, Mérida...’]
>>> string.join(lista)
La lluvia en Mérida…’
—————————————————————————————————————————————————————–>>> string.join(lista, ’_’)
La_lluvia_en_Sevilla…’
Aunque no es necesario, la convención dice que hay que encerrar las tuplas entre paréntesis:>>> tupla = ’a’, ’b’, ’c’, ’d’, ’e’
Para crear una tupla con un solo elemento, debemos incluir una coma final:>>> tupla = (’a’, ’b’, ’c’, ’d’, ’e’)
Sin la coma, Python trata (’a’) como una cadena entre paréntesis:>>> t1 = (’a’,)
>>> type(t1)
El operador índice selecciona un elemento de la tupla.>>> t2 = (’a’)
>>> type(t2)
Y el operador de porción elementos.>>> tupla=(“a”,”b”,”c”,”d”,”e”)
>>> tupla[0]
‘a’
Asignaciones multiples>>> tupla[1:3]
(‘b’, ‘c’)
—————————————————————————————————————————————————————–i,j=10,20 #ene ste caso i=10 y j=20
Forma de Acceder a un elemento del diccionario se hace a través de las claves>>> mydict = {“altura” : “media”, “habilidad” : “intermedia”, “salario” : 1000 }
>>> print mydict
{altura’: ‘media’, ‘habilidad’: ‘intermedia’, ‘salario’: 1000
Puedes comprobar la existencia de una clave en un diccionario usando has_key:>>> print mydict["habilidad"]intermedia
Las claves deben ser tipos inmutables (Es decir que los valores se pueden modificar), no hay forma de saber como esta ordenadoif mydict.has_key(‘altura’):
print ‘Nodo encontrado’
Lo mismo se podría hacer:
if ‘altura’ in mydict:
print ‘Nodo encontrado’
Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict)dc={“lclave”:”valor”,”lista”:[1,2,3,4],”tupla”:([1,2,3],4),4:”entero”}
Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict)clear(…)
| D.clear() > None. Remove all items from D.
| copy(…)
| D.copy() > a shallow copy of D
| get(…)
| D.get(k[,d]) > D[k] if k in D, else d. d defaults to None.
|
| has_key(…)
| D.has_key(k) > True if D has a key k, else False
|
| items(…)
| D.items() > list of D’s (key, value) pairs, as 2tuples
iteritems(…)
| D.iteritems() > an iterator over the (key, value) items of D
¡ iterkeys(…)
| D.iterkeys() > an iterator over the keys of D |
—————————————————————————————————————————————————————–itervalues(…)
| D.itervalues() > an iterator over the values of D
| keys(…)
| D.keys() > list of D’s keys
| pop(…)
| D.pop(k[,d]) > v, remove specified key and return the corresponding value
| If key is not found, d is returned if given, otherwise KeyError is raised
| popitem(…)
| D.popitem() > (k, v), remove and return some (key, value) pair as a
| 2tuple; but raise KeyError if D is empty
| setdefault(…)
| D.setdefault(k[,d]) > D.get(k,d), also set D[k]=d if k not in D
| update(…)
| D.update(E, **F) > None. Update D from E and F: for k in E: D[k] = E[k]
| (if E has keys else: for (k, v) in E: D[k] = v) then: for k in F: D[k] = F[k]
|
| values(…)
| D.values() > list of D’s values
En python tambien se le pueden colocar a los parametros de la función valores por defectos. En caso de que se llame la función y se le pase el argumento correspondiente en la función el parametro será reemplazado por el argumento.nombre_funcion(arg1, arg2,.., argn,)
def myfunc(a,b):
sum = a + b
return sum
print myfunc (5,6)
Pasando una tupla como parámetro. A las funciones tambien se les puede pasar una tupla como argumento. Pero entonces el el parametro dentro de la función debe ir precedido por un asterisco (*)#
# funcionvaloresdefecto.py
#
def myfunc(a=4,b=6):
sum = a + b
return sum
print myfunc()
print myfunc(b=8) # a es 4, sobreescribir b a 8
Pasando una lista como argumento: Se debe preceder los argumentos de la función por un asterisco (aunque no en este caso es opcional) al igual que sus parametros.#
#Pasando una tupla a una función en el momento en que se invoca
# funcionvaloresdefecto.py
#
def var_param(*parametros):#le estamos pasando una tupla
print “parametros es %s” %type(parametros)
for i in parametros:
print i,#la , lo que hace es que se imprima uno al lado del
otro
var_param(2,3,([1,2,3],7))
#
#Pasando una a una lista a una función en el momento en que se invoca
# funcionvaloresdefecto2.py
#
def var_param(parametros):#le estamos pasando una tupla
print “parametros es %s” %type(parametros)
for item in parametros:
print item#la , lo que hace es que se imprima uno al lado
del otro
lista=[2,3,([1,2,3],7)]
var_param(lista)
#Nota: La lista se transfoma en una tupla
—————————————————————————————————————————————————————–#
#Pasando una un diccionario a una función en el momento en que se invoca
#
def mas_param(**dc):
print “dc es un:%s”%type(dc)
for item in dc.keys():
print “%s : %s : %s “%(item,dc[item],type(dc[item]))
dc={“nombre”:”Richard Garcia”,”correo”:”rgarcia@fundacitemerida.gob.ve”}
mas_param(**{“nombre”:”Richard Garcia”,”correo”:”rgarcia@fundacitemerida.gob.ve”})
mas_param(**dc)
#nota: Tanto el argumento como los parametros deben estar precedidos por dos asteriscos
Listando los procedimientos de un modulo en la consola interactivadef one(a):
print “in one”,adef two (c):print “in two” ,cEjemplo 1 Ejemplo2
import modulo from modulo import one
modulo.one(2) one(2)
Donde los que aparecen sin los guiones de pisos son los procedimientos que tiene ese modulo .>>> import modulo
>>> dir(modulo)
['__builtins__', '__doc__', '__file__', '__name__', 'one', 'two']
Forma de incluir un modulo en la ruta donde python coloca los módulosimport sysimport modulo
dir(modulo)
—————————————————————————————————————————————————————–sys.path.insert(0,’ruta absoluta donde se encuentra el módulo’)sys.path son los sitios donde python va a buscar donde se encuentran los módulos
nota para saber los procedimientos de un modulo hago un dir(modulo)
Abriendo un fichero en modo de ecritura .f=open(”nombrefichero”,”r”)
Abriendo un fichero en modo de escritura conservando el contenido del mismof=open(”nombrefichero”,”w”)
Cerrando un ficherof=open(”nombrefichero”,”a”)
—————————————————————————————————————————————————————–f.close()
—————————————————————————————————————————————————————–#!/usr/bin/python
fh = open(“archivo.py”) # open crea un objeto de tipo fichero
fh = open(“archivo.py”,”r”)
for line in fh.readlines() : # lee todas las líneas en un fichero lo convierte en una lista
print line,
fh.close() #cerrando en el fichero#!/usr/bin/python
fh = open(“ejemplo.txt”) # open crea un objeto de tipo fichero
linea=fh.readline(); leo la primera linea como una cadena devuelve false en caso de estar
vacío
while(linea) : # lee todas las líneas en un fichero
print line
linea=fh.readline()
fh.close()
Nota: OJO CON ESTA MANERA DE LEER FICHEROS CUANDO LA PRIMERA LINEA
ESTA EN BLANCO DEL FICHERO O HAY UNA LINEA INTERCALADA VACIA
—————————————————————————————————————————————————————–#si el fichero en el cual deseo escribir no existe automáticamente se crea el fichero,
siempre y cuando tenga permisos de escritura en el directotio donde lo estoy creando
#!/usr/bin/python
fh = open(“out.txt”, “w”) #abrir un fichero para escritura
fh.write (“estamos escribiendo …\n”) #Escribiendo en el fichero
fh.close() #cerrando en el fichero
luego ejecuto en consola el script
$ python escribirfichero.py
$ cat out.txt
estamos escribiendo …
El problema es que cuando vuelve usted a leer el valor, obtiene una cadena. Ha perdido la>>> f.write (str(12.3))
>>> f.write (str([1,2,3]))
La solución es un encurtido, llamado así porque “conserva” estructuras de datos. El módulo pickle contiene las órdenes necesarias. Para usarlo, importe pickle y luego abra el>>> f.readline()
12.3[1, 2, 3]’
Manejo de ficheros en Python. Encurtidos Para almacenar una estructura de datos, use el método dump y luego cierre el archivo de la>>> import pickle
>>> f = open(“test.pck”,”w”)
Ahora podemos abrir el archivo para leer y cargar las estructuras de datos que volcamos ahí:>>> pickle.dump(12.3, f)
>>> pickle.dump([1,2,3], f)
>>> f.close()
Cada vez que invocamos load obtenemos un valor del archivo, completo con su tipo original.>>> f = open(“test.pck”,”r”)
>>> x = pickle.load(f)
>>> x
12.3
>>> type(x)
>>> y = pickle.load(f)
>>> y
[1, 2, 3]
>>> type(y)
TypeError: cannot concatenate ‘str’ and ‘int’ objects#
exp.py
#
a=”Hola”
b=10
a=a+b
$ python exp.py
Traceback (most recent call last):
File “exp.py”, line 3, in ?
a=a+b
—————————————————————————————————————————————————————–try:
a=”Hola”
b=10
a=a+b
except:
print “Error”
finally: Es la encargada de seguir el programa despues de controlar las excepciones
print “Error”
finally: Es la encargada de seguir el programa despues de controlar las excepciones
Clase que hereda de otras clasesSintaxis para crear clases:
Clase simple
class nombreClase:
Sintáxis general de una clase:class nombreClase(ClaseHereda1,ClaseHereda2):
ejemplo:
Class Persona:
b)Importar funciones de un ficherosintaxis:
import nombreClase
Funciones o métodos de las clasesSintaxis:
from nombreClase import nombreMétodo1,.., nombreMétodon
self:Es la palabra reservada que usa python para referirse al objeto que estemos tratando en otros lenguajes se usa la palabra reservada thisEjemplo:
def __init__ (self):
Sintaxis:
def__init__(párametrosDE entrada1,..,párametrosDE entradan):
Ejemplo:def__init__(self):
Para llamar ese constructor desde fuera de la clase se utiliza el nombre de la clase que quiere instanciar a un objeto
Sintaxis
nuevoObjeto=nombreClase(parámetrosDe Entrada1,…,Parametros de EntradaN)
Conexion con base de datos.Sqliteimport sqlite3 as bd #en caso de ser otra base de datos debemos importar el modulo
conn=bd.connect(“/home/richard/curso_Francisco_python/prueba36.test”)
cur=conn.cursor()
def crearTabla():
cur.execute(“create table personas(nombre text,”\
“apellidos text);”)
conn.commit()
def insertarDatosEjemplo():
personas=[['Erny','Revilla'],['Lorenzo','Gil'],['Dani','Molina']]
for persona in personas:
cur.execute(“insert into personas (nombre,apellidos) values (‘%s’,'%s’)” %
tuple(persona))
conn.commit()
**********************continua**************************
import MySQLdb as bd #importamos el API
conn=db.connect(db=”nombre_bd” , user=”nombre_usuario”,passwd=”pasword_user”,
host=”nombre_host”)
ejemplo:
conn=db.connect(db=”mysql” , user=”root”,passwd=”", host=”localhost”)
asl es una base de datos que ya esxiste y se creo en postgres.import psycoppg2 as bd #importamos el modulo
conn = db.connect (database=”nombre_bd” , user=”nombre_usuario”,
password=”password”, host=”localhost”, port=”5432”)
ejemplo:
conn=db.connect(database=”asl” , user=”usuario”, password=”123″, host=”localhost”,
port=”5432″)