John Cardozo
Software Engineer
John Cardozo
John Cardozo
archivo = open(nombre_archivo, modo)
Modos de apertura
Abrir un archivo
archivo.close()
Cerrar un archivo
IMPORTANTE
# Abre el archivo en modo escritura
f = open('bandas.txt', 'w')
# Escribe en el archivo
f.write('Guns and Roses\n')
f.write('Aerosmith\n')
f.write('Metallica\n')
f.write('Tesla\n')
# Cierra el archivo
f.close()
# Abre el archivo en modo lectura
f = open('bandas.txt', 'r')
# Lee todo el contenido del archivo
s = f.read()
# Cierra el archivo
f.close()
# Imprime el archivo
print(s)
Leer todo el archivo
# Abre el archivo en modo lectura
f = open('bandas.txt', 'r')
# Lee una línea del archivo
s = f.readline()
# Cierra el archivo
f.close()
# Imprime el archivo
print(s)
Leer una línea del archivo
# Abre el archivo en modo lectura
f = open('bandas.txt', 'r')
# Recorre linea por linea el archivo
for linea in f:
print(linea, end='')
# Se puede usar f.readlines() o
# list(f)
Leer línea por línea
# Definición simple
persona = {}
# Definición con datos
curso = {
"materia": "Programacion",
"semestre": 20201,
"abierto": True,
"horarios": ["lunes", "martes", "jueves"],
"estudiantes": [
{"id": 1, "nombre": "hugo"},
{"id": 2, "nombre": "paco"},
{"id": 3, "nombre": "luis"},
]
}
Definición de diccionarios
# Si la llave ya existe
# sobreescribe su valor
persona["nombre"] = "Guido"
persona["apellido"] = "Van Rosum"
Agregar/modificar llave
# Si la llave no existe
# genera un error
nombre = persona["nombre"]
Obtener el valor de una llave
# Si la llave no existe
# genera un error
del persona["nombre"]
Eliminar una llave
if "nombre" in persona:
print("La llave existe!")
Verificar si una llave existe
# Importa la libreria
import json
# Declara el objeto diccionario
datos = {"name": "Guido",
"languages": ["English", "Spanish"],
"married": False,
"age": 46
}
# Abre el archivo en modo escritura
archivo = open('person.json', 'w')
# Escribe el diccionario en el archivo
json.dump(datos, archivo)
# Cierra el archivo
archivo.close()
# Importa la libreria
import json
# abre el archivo
archivo = open('person.json', 'r')
# lee archivo y obtiene el dicccionario
datos = json.load(archivo)
# Imprime los datos
print(datos)
# Cierra el archivo
archivo.close()
Base de datos
+
# Ejecucion
sqlite3 ruta_archivo_bases_de_datos
# Mostrar las tablas de la base de datos
.tables
# Salir de la consola de sqlite3
.quit
# Para sentencias SELECT mostrar los encabezados de los campos
.header ON
# Para alinear los datos por columnas
.mode column
# Activar llaves foráneas
PRAGMA Foreign_keys = ON;
Comandos de consola
id | nombre | edad |
---|---|---|
1 | Cata | 15 |
2 | Camila | 9 |
CREATE TABLE nombre_tabla
(campo_1 tipo_campo, ... , campo_n tipo_campo)
Código SQL
CREATE TABLE nombre_tabla (
campo_1 tipo_campo,
... ,
campo_n tipo_campo
);
DROP TABLE nombre_tabla;
Data Definition Language
INSERT INTO nombre_tabla VALUES (valor1, 'valor2');
UPDATE nombre_tabla SET campo1 = valor WHERE condicion;
DELETE FROM nombre_table WHERE condicion;
Data Manipulation Language
SELECT campo1, campo2 FROM nombre_tabla;
Data Query Language
import sqlite3
# Conecta a la base de datos.
# Si no existe crea la base de datos
conexion = sqlite3.connect('datos.db')
# Objeto que hace operaciones en la base de datos
cursor = conexion.cursor()
# Crear tabla
# Tipos: integer, text, real,
# fechas (text con formato 'YYYY-MM-DD HH:MM:SS.SSS')
cadena_sql = '''create table usuarios (
id integer, nombre text
);'''
cursor.execute(cadena_sql)
# Cierra la conexion
conexion.close()
Creación de base de datos
import sqlite3
# Conecta a la base de datos. Si no existe crea la base de datos
conexion = sqlite3.connect('datos.db')
# Objeto que ejecuta comandos en la base de datos
cursor = conexion.cursor()
# Crea usuarios
cursor.execute("INSERT INTO usuarios VALUES (1, 'Tesla')")
cursor.execute("INSERT INTO usuarios VALUES (2, 'Einstein')")
# Se debe ejecutar el commit
# para hacer cambios en la base de datos
conexion.commit()
# Cerrar conexión
conexion.close()
Insertar registros
import sqlite3
# Conecta a la base de datos. Si no existe crea la base de datos
conexion = sqlite3.connect('datos.db')
# Objeto que ejecuta comandos en la base de datos
cursor = conexion.cursor()
# Crea parametros para la sentencia SQL
param = ('Tesla',)
# Ejecuta la sentencia
registros = cursor.execute('SELECT * FROM usuarios WHERE nombre=?', param)
# Recorre los registros obtenidos
for fila in registros:
print('Id: {0} - Nombre: {1}'.format(fila[0], fila[1]))
# Cierra la conexión
conexion.close()
Obtener registros
import sqlite3
# Conecta a la base de datos. Si no existe crea la base de datos
conexion = sqlite3.connect('datos.db')
# Objeto que ejecuta comandos en la base de datos
cursor = conexion.cursor()
# Do this instead
parametros = ('Newton', 1, )
cursor.execute('UPDATE usuarios SET nombre=? WHERE id=?', parametros)
# Ejecuta commit para hacer cambios de información en la base de datos
conexion.commit()
# Cierra la conexión
conexion.close()
Actualizar registros
johncardozo@gmail.com
By John Cardozo
Archivos planos y JSON, SQLite3