Como declarar un array en Python

logo python

En Python trabajamos constantemente con matrices de diferentes dimensiones. En este articulo vamos a ver como declarar un array en Python, usando dos formas.

Lo primero a considerar, es que en Python el primer elemento de una matriz, ocupa la posición 0, el segundo la posición 1 y así sucesivamente.

Declaración simple:

La forma mas sencilla de declarar que una variable recibe como datos un array es escribiendo el nombre de la variable el signo igual y corchetes:

mi_array = []

Esto indica al interprete de Python que mi_array es un array que de  momento esta vacío.

En este caso estamos accediendo al modulo list()

Se puede acceder a los elementos de la lista simplemente pasando el índice requerido. Dicho entonces, se entiende que mi lista[2] accederá al tercer elemento.

Para añadir un elemento usamos el módulo append() con el elemento que se agregará, teniendo en cuenta que append() lo colocará al final.

Si deseamos colocarlo en una posición especifica, se usa la función insert(x, y)  donde el índice es  x, e  y el valor y.

Si el índice tiene un valor negativo es porque estamos accediendo a las posiciones contando de atrás hacia adelante, o sea en orden inverso.  

mi_matriz = [1,2,3,"s",5]
print(mi_matriz [-2])
mi_matriz.insert(4,6)
print(mi_matriz [-2])
mi_matriz.append('f')
print(mi_matriz)
 output
s
12
[1, 3, 5, 7, 9, 's', 12, 'f', 'g']

La clase array

El modulo array permite inicializar un array que incluirá  solo elementos homogéneos.

Para usarlo debe importarlo como cualquier otro modulo, y viene de la librería array.

Este se define con paréntesis y acepta dos argumentos,  el type code que define el tipo de los elementos que lo integran; el segundo parámetro es la lista de estos elementos entre corchetes.

Para acceder a un elemento del array, se emplea la función index(x) donde x es el índice del array.

Para insertar un nuevo elemento en el array, se llama a la función insert(i,x), donde es el índice y x es el valor a insertar.

Escribir en un fichero en Python

logo python

La tarea de escribir en un fichero en Python es algo común, que forma parte de los primeros pasos, en este lenguaje.

Veamos como hacerlo.

Partamos de considerar que un fichero es un objeto de la clase File, que, sirven para guardar datos en disco que podrán ser leídos posteriormente, ver cómo leer ficheros línea a línea en Python.

Los ficheros con los que trabajaremos en Python regularmente pertenecen o bien al tipo texto o al tipo binario.

Los primeros son aquellos con caracteres legibles para el ser humano, y generalmente codificados para hacer mas fácil su comprensión.

Los segundos, son archivos compuestos por un flujo de bytes  diseñados para ser leídos o utilizados por  programas o aplicaciones especificas.

Para escribir un fichero en Python, debemos abrirlo con open() , al igual que si vamos a leerlo.

Llamar a open automáticamente crea automaticamente un objeto de la clase File.

open(), recibe dos parámetros o argumentos, la ruta donde se encuentra el fichero(path), y el modo en que abrirmos el fichero(lectura,escritura,etc).

Su sintaxis entonces es:

open(path, modo)

Por defecto el modo en que se abre es el modo texto, si necesitamos que Python lo abra en modo binario, deberemos pasarle al modo el argumento b.

Los modos en los que se puede abrir un fichero de tipo texto son:

rSolo lectura y es el modo por defecto si no se indica lo contrario
wSolo escritura, si ya existe el fichero, sobreescribe su contenido.
aAdición. En el fichero solo se puede escribir, por tanto si existe el fichero, aquello que se escriba se añadirá al final del mismo.
xSolo escritura, pero lanzará una excepción si ya  existe el fichero.
r+Lectura y escritura.

Su variante para ficheros del tipo binario es :  rb, wb, ab, xb, rb+.

Entonces para a estructura para abrir un fichero en modo escritura solo necesitamos hacer esto:

Miarchivo = open('miruta/mi_fichero' ,  'w' )
#o esto:
Miarchivo= open('miruta/mi_fichero' ,  'w' )
try:
# acciones para escribir en el fichero
finally:
Miarchivo.close()

O  empleando with, que no brinda lo mismo que el bloque  try – finally, pero en un una sola sentencia with - as.

with open('miruta/mi_fichero' ,  'w' )as f:
# acciones para escribir en el fichero

Una vez abierto el fichero en formato escritura, toca escribirlo, lo cual haremos con write().

Miarchivo = open('miruta/mi_fichero' ,  'w' )
Miarchivo.write('Bienvenidos \n'')
#o esto:
Miarchivo= open('miruta/mi_fichero' ,  'w' )
try:
Miarchivo.write('Bienvenidos \n')
finally:
Miarchivo.close()

#con with
with open('miruta/mi_fichero' ,  'w' )as f:
Miarchivo.write('Bienvenidos \n')

Para escribir un fichero binario añadimos el carácter b:

with open('miruta/mi_fichero' ,  'w' )as f:
Miarchivo.write(b'0x34')

Y esto es todo.

Espero sinceramente poder ayudar a alguien.

El miedo puede hacer que un burro ataque a un león

Obtener la hora y la fecha en Python

logo python

Algo tan sencillo, como obtener la hora y la fecha en Python, es algo que debemos saber, al comenzar con este lenguaje. Aquí muestro como hacerlo.

Para obtener la hora actual en Python tenemos dos módulos incorporados al lenguaje . Estos son time y  datetime.

Time

import time
# time.strftime para obtener la hora actual en Python
a = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(a)
b =time.ctime

ctime() es útil para para obtener el día de la semana, el mes, el día, la hora y el año.

time.localtime()  nos devuelve la hora local de la zona horaria en la que estamos, mientras que time.gmtime() nos devuelve la  hora UTC.

 Datetime 

from datetime import datetime
fechaTotal = datetime.now()
print(fechaTotal)
añoYhora = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(añoYhora)
hora = datetime.now().time()
print(hora)

En el código anterior estamos obteniendo un  objeto a de tipo datetime() que incluye toda la información de la fecha, incluyendo el año, el mes, el día y la hora.

Podemos transformarlo a formato string, usando  método strftime().

Para obtener solo la hora podemos emplear datetime.time().

Y hasta aquí.

Espero modestamente, haber ayudado a alguien.

Para ser parte del 1%, hay que hacer lo que el 99%  no hace.

SQLSTATE[HY000]: General error: 1835 Malformed communication packet

laravel error

El error ‘SQLSTATE[HY000]: General error: 1835 Malformed communication packet’, que suele aparecer si nuestra APP en Laravel, trabaja con Maria DB y no soporta la nueva versión del PHP.

Como es un error de configuración, y las nuevas versiones de PHP, son algo mas dúctiles, con la creación de consultas,  debe bastarnos con modificar nuestro archivo database config, añadiendo esta línea de código:

options => [PDO::ATTR_EMULATE_PREPARES => true]

Ojo, esta solución puede tener inconvenientes, pues lo que estamos haciendo es habilitar el uso de declaraciones preparadas en la caché, lo cual puede no ser siempre conveniente.

Lo que hace esta sentencia es hacer el reemplazo de los parámetros  en la librería PDO, en vez de hacerlo en el servidor y así burla la desactualización, por lo que los errores de sintaxis en el tiempo de preparación de la consulta desaparecen, y se traspasan solo al momento de ejecución.

«Quien va en busca de montañas, no puede detenerse a recoger las piedras del camino»

Translate »