<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://wiki.tempwin.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.tempwin.net/feed.php">
        <title>La wiki de TempWin - informatica:programacion:python</title>
        <description></description>
        <link>http://wiki.tempwin.net/</link>
        <image rdf:resource="http://wiki.tempwin.net/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-05-09T12:49:31+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/automatizacion_gui?rev=1604588264&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/bases_de_datos?rev=1636109291&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/comprimir_descomprimir?rev=1604664917&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/depuracion?rev=1638891381&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/fechas?rev=1636041873&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/ficheros?rev=1636115535&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/ftp?rev=1604663819&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/graficas?rev=1604847670&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/json?rev=1604849091&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/mail?rev=1604584188&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/matematicas?rev=1624634864&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/modulos?rev=1626016868&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/poo?rev=1633866431&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/pyxel?rev=1764081668&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/scrapy?rev=1621681768&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/selenium?rev=1621952525&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/sistema_ficheros?rev=1638890241&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/snippets?rev=1680252584&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.tempwin.net/informatica/programacion/python/web_scraping?rev=1642260401&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.tempwin.net/_media/wiki/dokuwiki.svg">
        <title>La wiki de TempWin</title>
        <link>http://wiki.tempwin.net/</link>
        <url>http://wiki.tempwin.net/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/automatizacion_gui?rev=1604588264&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-05T14:57:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>automatizacion_gui</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/automatizacion_gui?rev=1604588264&amp;do=diff</link>
        <description>Python: Automatización GUI

Se llama automatización GUI al control del ratón y teclado.

Se usa el módulo externo PyAutoGUI que podemos instalar con pip: pip install pyautogui

	*  PyAutoGUI

Tamaño de pantalla


import pyautogui

pyautogui.size()

# Resultado
# Size(width=1920, height=1080)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/bases_de_datos?rev=1636109291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-05T10:48:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bases_de_datos</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/bases_de_datos?rev=1636109291&amp;do=diff</link>
        <description>Python: Bases de Datos

MySQL

Instalar el conector de MySQL:


pip install mysql-connector-python


Uso


import mysql.connector

conn = mysql.connector.connect(
    host = &quot;servidor_base_datos&quot;,
    user = &quot;usuario_base_datos&quot;,
    password = &quot;contraseña&quot;,
    database = &quot;nombre_base_datos&quot;
)

micursor = conn.cursor()

micursor.execute(&quot;SELECT * FROM mi_tabla&quot;)

resultado = micursor.fetchall()

for fila in resultado:
  print(fila)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/comprimir_descomprimir?rev=1604664917&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-06T12:15:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comprimir_descomprimir</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/comprimir_descomprimir?rev=1604664917&amp;do=diff</link>
        <description>Python: Comprimir y descomprimir

Se usa el módulo patool que permite comprimir en diferentes formatos (rar, tar, zip...), así como descomprimir. Es un módulo externo así que hay que instalarlo con pip install patool

Descomprimir


import patoolib

import os

os.chdir(&quot;/ruta/&quot;)

# Descomprimimos
patoolib.extract_archive(&quot;fichero.zip&quot;, outdir = &quot;directorio&quot;)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/depuracion?rev=1638891381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-07T15:36:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>depuracion</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/depuracion?rev=1638891381&amp;do=diff</link>
        <description>Python: Depuración

La depuración de programas (del inglés debugging) es el proceso de identificar y corregir errores de programación.​ 

print

Allá donde nos interese comprobar algún valor, podemos imprimirlo utilizando la función print.

breakpoint()</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/fechas?rev=1636041873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-04T16:04:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fechas</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/fechas?rev=1636041873&amp;do=diff</link>
        <description>Python: Fechas


import datetime as dt
# from datetime import datetime


Creación

Fecha actual:


d = dt.datetime.now()

print(d)
# Resultado
# 2020-11-13 15:53:49.883446


Al imprimir un objeto de tipo datetime obtenemos año, mes, día, minutos, segundos y microsegundos.</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/ficheros?rev=1636115535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-05T12:32:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ficheros</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/ficheros?rev=1636115535&amp;do=diff</link>
        <description>Python: Ficheros

Leer ficheros

Texto normal

Leerlo completamente, almacenarlo en memoria y mostrarlo por pantalla:


fname = &#039;fichero.txt&#039;

f = open(fname, &#039;r&#039;)
contenido = f.read()
f.close()

print(contenido)


Una alternativa más limpia es usando</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/ftp?rev=1604663819&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-06T11:56:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ftp</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/ftp?rev=1604663819&amp;do=diff</link>
        <description>Python: FTP

En todas las notas se utiliza el módulo ftplib

Login

Iniciar sesión en un servidor FTP.


# Cogemos solo el objeto &#039;FTP&#039; del módulo ftplib
from ftplib import FTP

ftp = FTP(&quot;servidor.ftp&quot;)

ftp.login(&quot;usuario&quot;, &quot;contraseña&quot;)

# Cerramos la conexión
ftp.close()</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/graficas?rev=1604847670&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-08T15:01:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>graficas</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/graficas?rev=1604847670&amp;do=diff</link>
        <description>Python: Gráficas

Matplotlib

	*  Web oficial

Se puede instalar mediante pip: pip install matplotlib.

En Arch Linux también está disponible a través del paquete python-matplotlib.

Pandas también incluye funciones para crear gráficas.

Gráfico de líneas</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/json?rev=1604849091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-08T15:24:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>json</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/json?rev=1604849091&amp;do=diff</link>
        <description>Python: JSON

Lectura de datos JSON


import json


Lectura


import json

datos = json.load(open(&quot;fichero.json&quot;, &quot;r&quot;))


Datos será un diccionario de Python con el contenido del fichero JSON.

Crear JSON


import json

json.dump({&quot;nombre&quot;: &quot;Pepito&quot;, &quot;apellido&quot;: &quot;Grillo&quot;}, open(&quot;fichero.json&quot;, &quot;w&quot;)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/mail?rev=1604584188&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-05T13:49:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mail</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/mail?rev=1604584188&amp;do=diff</link>
        <description>Python: Mail

Enviar


import smtplib

con = smtplib.SMTP(&quot;smtp.gmail.com&quot;, 587)

# Conectamos con el servidor de correo
con.ehlo()

# Habilitamos el cifrado TLS (si lo necesita el servidor de correo)
con.starttls()

# Nos identificamos
con.login(&#039;usuario@gmail.com&#039;, &#039;contraseña&#039;)

# Enviamos el correo
con.sendmail(&#039;usuariodesde@gmail.com&#039;, &#039;usuariopara@gmail.com&#039;,&#039;Subject: Asunto\n\nTexto del correo&#039;)

# La sentencia anterior devuelve un diccionario. Si está vacío, el e-mail se ha enviado corre…</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/matematicas?rev=1624634864&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-06-25T15:27:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>matematicas</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/matematicas?rev=1624634864&amp;do=diff</link>
        <description>Python: Matemáticas

Operaciones útiles para matemáticas utilizando Python.

El módulo random permite generar números pseudoaleatorios:


import random

# Generar un número aleatorio entre 1 y 10
x = random.randint(1, 10)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/modulos?rev=1626016868&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-07-11T15:21:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>modulos</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/modulos?rev=1626016868&amp;do=diff</link>
        <description>Módulos de Python

	*  tqdm: barra de progreso
	*  Python: Beautiful Soup
	*  Python: mariadb
	*  NAPALM
	*  Netmiko
	*  NumPy
	*  OpenCV
	*  Pandas
	*  Paramiko
	*  Python: python-telegram-bot</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/poo?rev=1633866431&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-10T11:47:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>poo</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/poo?rev=1633866431&amp;do=diff</link>
        <description>Python: Programación Orientada a Objetos

Python permite el usos de clases para organizar mejor el código y modelar objetos del mundo real mediante código.

En Python todo es un objeto. El tipo más básico de objeto en Python es object. Las clases que creemos serán subclases de</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/pyxel?rev=1764081668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-25T14:41:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pyxel</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/pyxel?rev=1764081668&amp;do=diff</link>
        <description>Pyxel

Biblioteca de Python para desarrollar juegos retro.

Inspirado en consolas retro, aplica varias restricciones como una paleta de 16 colores y 4 canales de audio. Pyxel sigue un poco la estela de los proyectos PICO-8 y TIC-80.

	*  Repositorio de código



Características

	*  Multiplataforma (Windows, Mac, Linux y web)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/scrapy?rev=1621681768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-22T11:09:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>scrapy</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/scrapy?rev=1621681768&amp;do=diff</link>
        <description>Scrapy

Framework para la extracción de datos de web utilizando Python.

	*  Web oficial

Instalación


pip install scrapy


Ejemplos


&quot;&quot;&quot;
Extracción de titulares y resumen de la página principal del periódico El Universo.
&quot;&quot;&quot;

from scrapy.item import Field
from scrapy.item import Item
from scrapy.spiders import Spider
from scrapy.selector import Selector
from scrapy.loader.processors import MapCompose
from scrapy.loader import ItemLoader
from bs4 import BeautifulSoup
from scrapy.crawler import…</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/selenium?rev=1621952525&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-05-25T14:22:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>selenium</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/selenium?rev=1621952525&amp;do=diff</link>
        <description>Python: Selenium

Selenium es una herramienta de código abierto y multiplataforma que permite automatizar interacciones con aplicaciones web sin intervención manual.

También es la única solución cuando queremos procesar webs que tienen carga dinámica, es decir, se va cargando el contenido sin modicar la</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/sistema_ficheros?rev=1638890241&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-07T15:17:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sistema_ficheros</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/sistema_ficheros?rev=1638890241&amp;do=diff</link>
        <description>Python: Manipulación del sistema de ficheros

Se utilizará el módulo os que viene integrado con Python (no se instala a mayores):


import os

# Obtener directorio actual:
os.getcwd() 

# Cambiar directorio
os.chdir(&quot;/home/tempwin&quot;)

# Obtenemos directorio actual
os.getcwd() 

# Crear directorio (con ruta absoluta)
os.mkdir(&quot;/home/tempwin/nuevo_dir&quot;)

# Obtener ruta absoluta del directorio actual:
os.path.abspath(&quot;.&quot;)

# Como saber si una ruta es relativa o absoluta
os.path.isabs(&quot;.&quot;)

# Nombre …</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/snippets?rev=1680252584&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-31T08:49:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>snippets</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/snippets?rev=1680252584&amp;do=diff</link>
        <description>Snippets de Python

Colección de trozos de código Python

Ocultar mensajes de aviso

Si nuestro script genera algún mensaje de aviso (warning), por ejemplo:


/../site-packages/openpyxl/styles/stylesheet.py:226: UserWarning: Workbook contains no default style, apply openpyxl&#039;s default
  warn(&quot;Workbook contains no default style, apply openpyxl&#039;s default&quot;)</description>
    </item>
    <item rdf:about="http://wiki.tempwin.net/informatica/programacion/python/web_scraping?rev=1642260401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-15T15:26:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>web_scraping</title>
        <link>http://wiki.tempwin.net/informatica/programacion/python/web_scraping?rev=1642260401&amp;do=diff</link>
        <description>Python: Web Scraping


import webbrowser

# Abre el navegador en cierta página:
webbrowser.open(&quot;https://example.org&quot;)


En el web scraping, normalmente se siguen unos pasos:

	*  Definir la URL de base
	*  Hacer petición a esa URL
	*  Obtener respuesta</description>
    </item>
</rdf:RDF>
