Librería Estandar#

Logo Python

Módulos básicos de Python 3.8

platform: Manipulación del Sistema#

Información del sistema operativo#

 1# Importar platform:
 2import platform
 3
 4# Información del sistema:
 5print(platform.uname())
 6
 7# Tipo de kernel:
 8print(platform.platform())
 9
10# Versión de Kernel:
11print(platform.release())
12
13# Arquitectura:
14print(platform.architecture())
15
16# Típo de máquina:
17print(platform.machine())
18
19# hostname:
20print(platform.node())
21
22# Tipo de sistema operativo:
23print(platform.system())
24
25# Versión del sistema operativo:
26print(platform.version())
27
28# Versión de python instalada:
29print(platform.python_version())

json: Manipulación JSON#

Convertir Diccionario en JSON#

 1# se importa la librería json:
 2import json
 3
 4# Esto es un diccionario:
 5listado_dict = [
 6    {"nombre": "Pepe", "edad": 27},
 7    {"nombre": "Antonia", "edad": 47},
 8    {"nombre": "Paco", "edad": 17},
 9    {"nombre": "Ana", "edad": 23}
10]
11
12# parsear Json en Diccionario:
13listado_json = json.dumps(listado_dict)
14
15# Lo convertirá en un str con formato JSON:
16print(type(listado_json))

Convertir JSON en Diccionario#

 1# se importa la librería json:
 2import json
 3
 4# Los archivos JSON suelen recuperarse en formato cadena:
 5listado_json = '[{"nombre": "Pepe", "edad": 27},{"nombre": "Antonia", "edad": 47},{"nombre": "Paco", "edad": 17},{"nombre": "Ana", "edad": 23}]'
 6
 7# parsear Json en Diccionario:
 8listado_dict = json.loads(listado_json)
 9
10print(type(listado_dict))

datetime: Manipulación de fechas#

 1# importar datetime para fecha y hora:
 2from datetime import datetime
 3
 4# Imprimir fecha y hora:
 5print(datetime.now())
 6
 7# Fecha personalizada:
 8fecha = datetime.now()
 9print(fecha.strftime("%d/%m/%Y"))
10
11# hora personalizada:
12print(fecha.strftime("%H:%M:%S"))  # también vale strftime("%X")
  • Códigos comunes para Fecha:

Tipo de valor

símbolo

Día en notación numeral

%w

Día por inicial

%a

Día de la semana

%A

Dias transcurridos desde comienzos de año

%j

Semanas transcurridas desde comienzos de año

%W

Mes actual en notación numeral

%m

Iniciales del mes corriente

%b

Nombre completo mes corriente

%B

Año corriente en notación numeral

%Y

Año con notación numeral abreviada

%y

Fecha en formato ISO-8601

%u

  • Códigos comunes para Hora:

Tipo de valor

símbolo

Ver si la hora es AM o PM

%p

Hora en formato 12

g

Hora en formato 24

G

Hora en formato 12 con 0 inicial

%I

Hora en formato 24 con 0 inicial

%H

Minutos

%M

Segundos

%S

Microsegundos

%f

Zona Horaria

%Z

requests: Manipulación de HTTP#

Petición HTTP#

 1# importar requests:
 2import requests
 3
 4# Realizar petición básica y obtener código resultado:
 5r = requests.get('https://www.fullcoder.org/')
 6print(r.status_code)
 7
 8# Realizar una petición avanzada:
 9headers = {
10'Content-Type': 'application/json',
11'Accept': '*/*'
12}
13
14data = '{ "user":"pepe", "password":"clave" }'
15
16r = requests.post('https://fakeapi.com', headers=headers, data=data)
17print(r.status_code)

Averiguar el tipo de dato recibido#

1print(r.headers['content-type'])

Recuperar contenido de la petición#

1print(r.content)

Recuperar contenido de la petición formato texto#

1print(r.text)

Recuperar contenido de la petición formato JSON#

1print(r.json())

Haciendo una petición contra API con JWT#

La petición se podría dividir en dos partes:

  1. Solicitud de token:

 1import requests
 2
 3headers = {
 4    'Content-Type': 'application/json',
 5    'Accept': '*/*',
 6}
 7
 8data = '{"username":"misterg@gmail.com", "password":"sabotaje"}'
 9
10r = requests.post('http://127.0.0.1:8000/api/token', headers=headers, data=data)
11print(r.status_code)
12token = r.json()
  1. Petición de datos (listado de series):

1headers['Authorization'] = 'Bearer ' + token['access']
2
3r = requests.get('http://127.0.0.1:8000/api/series/', headers=headers)
4print(r.status_code)
5print(r.content)

os: Manipulación del Sistema#

Listar directorio#

1# importar os:
2import os
3
4# listar una carpeta mediante su ruta o la ruta actual:
5print(os.listdir("./"))

Crear directorio#

1# importar os:
2import os
3
4# Crear una carpeta:
5os.makedirs("carpeta python")

Mostrar directorio actual#

1# importar os:
2import os
3
4# Mostrar directorio:
5print(os.getcwd())

Mostrar tamaño del archivo o directorio#

1# importar os:
2import os
3
4# Mostrar tamaño:
5print(os.path.getsize("carpeta python"))

Comprobar si es archivo o carpeta#

1# importar os:
2import os
3
4# Comprobar si es carpeta:
5print(os.path.isfile("carpeta python"))
6
7# comprobar si es directorio:
8print(os.path.isdir("carpeta python"))

Renombrar archivo o carpeta#

1# importar os:
2import os
3
4# Comprobar si es carpeta:
5os.rename("carpeta python", "Python mola!")
6
7print(os.listdir('./'))

Eliminar un archivo o carpeta#

Suponiendo que tenemos en el directorio en el que ejecutamos el script un directorio llamado Python mola! y un archivo llamado texto.txt:

 1# importar os:
 2import os
 3
 4# eliminar carpeta:
 5os.rmdir("Python mola!")
 6
 7# eliminar archivo:
 8os.remove("texto.txt")
 9
10print(os.listdir('./'))

shutil: Manipulación de archivos#

1# Importar shutil:
2import shutil
3
4# Copiar un archivo:
5shutil.copyfile('archivo.txt', 'nuevo.txt')
6
7# mover un archivo:
8shutil.move('/carpeta/origen', '/carpeta/destino')

Random: Números aleatorios#

 1# Importar random:
 2import random
 3
 4# Elegir un elemento al azar:
 5lista = ['galletas', 'tortitas', 'sandwich']
 6print(random.choice(lista))
 7# Dame un número al azar que puede ser decimal:
 8print(random.random())
 9
10# Y un número al azar basado en un rango de enteros:
11print(random.randrange(15))
12
13# Y un rango establecido de inicio a fin:
14print(random.randint(2, 8))

Argparse: Pasar argumentos por consola#

Para pasar argumentos a un script de python:

 1# importamos la librería:
 2import argparse
 3
 4# Crear objeto parser:
 5parser = argparse.ArgumentParser(description="Recibiendo argumentos")
 6
 7# creamos los argumentos:
 8parser.add_argument('-x', '--saludo', help="Es solo un saludo")
 9
10# añadimos los argumentos:
11parser = parser.parse_args()
12
13# Se comprueba el argumetno recibido:
14if parser.saludo:
15    # se puede también recuperar el valor del argumento:
16    print("Hola " + parser.saludo)

Time: manipulación de tiempo#

Su uso más frecuente es para crear pausas en el código.

1# importar librería
2import time
3
4print("Hola")
5# establece pausa de 5 segundos:
6time.sleep(5)
7
8print("Hola de nuevo")

Nota

Más modulos de Python en la guía oficial: https://docs.python.org/3/library/