Librería Estandar
Contents
Librería Estandar#

Módulos básicos de Python 3.8
Índice
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)
Lista de MIMES más comunes: https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
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:
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()
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/