Servicios genéricos del sistema operativo
*****************************************

Los módulos descritos en este capítulo proporcionan interfaces a las
características del sistema operativo que están disponibles en (casi)
todos los sistemas operativos, como archivos y un reloj. Las
interfaces se modelan, por norma general, según las interfaces Unix o
C, pero también están disponibles en la mayoría de los otros sistemas.
Esta es una visión general:

* "os" --- Miscellaneous operating system interfaces

  * Nombres de archivos, argumentos de la línea de comandos y
    variables de entorno

  * Modo Python UTF-8

  * Parámetros de proceso

  * Creación de objetos de tipo archivo

  * Operaciones de descriptores de archivos

    * Consultando las dimensiones de una terminal

    * Herencia de los descriptores de archivos

  * Archivos y directorios

    * Atributos extendidos de Linux

  * Gestión de proceso

  * Interfaz al planificador

  * Información miscelánea del sistema

  * Números al azar

* "io" --- Core tools for working with streams

  * Resumen

    * E/S Texto

    * E/S Binaria

    * E/S sin formato

  * Codificación de texto

    * EncodingWarning opcional

  * Interfaz de módulo de alto nivel

  * Jerarquía de clases

    * Clases base E/S

    * Archivo sin formato E/S

    * *Streams* almacenados (búfer)

    * E/S Texto

  * Rendimiento

    * E/S Binaria

    * E/S Texto

    * Multihilo

    * Reentrada

* "time" --- Time access and conversions

  * Las Funciones

  * Constantes de ID de reloj

  * Constantes de zona horaria

* "argparse" --- Parser for command-line options, arguments and
  subcommands

  * Objetos *ArgumentParser*

    * *prog*

    * uso

    * *description*

    * *epilog*

    * *parents*

    * *formatter_class*

    * *prefix_chars*

    * *fromfile_prefix_chars*

    * *argument_default*

    * *allow_abbrev*

    * *conflict_handler*

    * *add_help*

    * exit_on_error

  * El método *add_argument()*

    * *name or flags*

    * *action*

    * *nargs*

    * *const*

    * *default*

    * *type*

    * *choices*

    * *required*

    * *help*

    * *metavar*

    * *dest*

    * Las clases *Action*

  * El método *parse_args()*

    * Sintaxis del valor de la opción

    * Argumentos no válidos

    * Argumentos conteniendo "-"

    * Abreviaturas de los argumentos (coincidencia de prefijos)

    * Más allá de "sys.argv"

    * El objeto *Namespace*

  * Otras utilidades

    * Sub-comandos

    * Objetos *FileType*

    * Grupos de argumentos

    * Exclusión mutua

    * Valores por defecto del analizador

    * Mostrando la ayuda

    * Análisis parcial

    * Personalizando el análisis de archivos

    * Métodos de salida

    * Análisis entremezclado

    * Registering custom types or actions

  * Excepciones

    * Tutorial de *argparse*

      * Conceptos

      * Las bases

      * Introducción a los argumentos posicionales

      * Introducción a los argumentos opcionales

        * Opciones cortas

      * Combinar argumentos opcionales y posicionales

      * Un poco mas avanzado

        * Especificando argumentos ambiguos

        * Opciones conflictivas

      * Cómo traducir la salida de argparse

      * Custom type converters

      * Conclusión

    * Upgrading optparse code

* "getopt" --- C-style parser for command line options

* "logging" --- Logging facility for Python

  * Objetos logger

  * Niveles de logging

  * Gestor de objetos

  * Objetos formateadores

  * Filtro de Objetos

  * Objetos LogRecord

  * Atributos LogRecord

  * Objetos LoggerAdapter

  * Seguridad del hilo

  * Funciones a nivel de módulo

  * Atributos a nivel de módulo

  * Integración con el módulo de advertencias

* "logging.config" --- Logging configuration

  * Funciones de configuración

  * Consideraciones de seguridad

  * Esquema del diccionario de configuración

    * Detalles del esquema del diccionario

    * Configuración incremental

    * Conexiones de objeto

    * Objetos definidos por el usuario

    * Handler configuration order

    * Acceso a objetos externos

    * Acceso a objetos internos

    * Resolución de importación e importadores personalizados

    * Configuring QueueHandler and QueueListener

  * Formato de archivo de configuración

* "logging.handlers" --- Logging handlers

  * StreamHandler

  * FileHandler

  * NullHandler

  * WatchedFileHandler

  * BaseRotatingHandler

  * RotatingFileHandler

  * TimedRotatingFileHandler

  * SocketHandler

  * DatagramHandler

  * Gestor *SysLog* (*SysLogHandler*)

  * Gestor de eventos *NTELog* (NTEventLogHandler)

  * SMTPHandler

  * MemoryHandler

  * HTTPHandler

  * QueueHandler

  * QueueListener

* "getpass" --- Portable password input

* "curses" --- Terminal handling for character-cell displays

  * Funciones

  * Objetos de ventana

  * Constantes

* "curses.textpad"--- Widget de entrada de texto para programas de
  curses

  * Objeto de caja de texto

* "curses.ascii" --- Utilities for ASCII characters

* "curses.panel" --- A panel stack extension for curses

  * Funciones

  * Objetos de panel

* "platform" ---  Access to underlying platform's identifying data

  * Plataforma cruzada

  * Plataforma Java

  * Plataforma windows

  * Plataforma macOS

  * Plataformas Unix

  * Plataformas Linux

* "errno" --- Standard errno system symbols

* "ctypes" --- A foreign function library for Python

  * tutorial de ctypes

    * Carga de bibliotecas de enlaces dinámicos

    * Acceder a las funciones de los dll cargados

    * Funciones de llamada

    * Tipos de datos fundamentales

    * Funciones de llamada, continuación

    * Calling variadic functions

    * Funciones de llamada con sus propios tipos de datos
      personalizados

    * Especificar los tipos de argumentos requeridos (prototipos de
      funciones)

    * Tipos de retorno

    * Pasar los punteros (o: pasar los parámetros por referencia)

    * Estructuras y uniones

    * Alineación de estructura/unión y orden de bytes

    * Campos de bits en estructuras y uniones

    * Arreglos

    * Punteros

    * Conversiones de tipos

    * Tipos incompletos

    * Funciones de retrollamadas (*callback*)

    * Acceder a los valores exportados de los dlls

    * Sorpresas

    * Tipos de datos de tamaño variable

  * referencia ctypes

    * Encontrar bibliotecas compartidas

    * Cargando bibliotecas compartidas

    * Funciones foráneas

    * Prototipos de funciones

    * Funciones de utilidad

    * Tipos de datos

    * Tipos de datos fundamentales

    * Tipos de datos estructurados

    * Arreglos y punteros
