Services génériques du système d'exploitation
*********************************************

Les modules documentés dans ce chapitre fournissent des interfaces
vers des fonctionnalités communes à la grande majorité des systèmes
d'exploitation, telles que les fichiers et l'horloge.  Bien que ces
interfaces soient classiquement calquées sur les interfaces Unix ou C,
elles sont aussi disponibles sur la plupart des autres systèmes. En
voici un aperçu :

* "os" — Diverses interfaces pour le système d'exploitation

  * Noms de fichiers, arguments en ligne de commande, et variables
    d'environnement

  * Le mode UTF-8 de Python

  * Paramètres de processus

  * Création de fichiers objets

  * Opérations sur les descripteurs de fichiers

    * Demander la taille d'un terminal

    * Héritage de descripteurs de fichiers

  * Fichiers et répertoires

    * Attributs étendus pour Linux

  * Gestion des processus

  * Interface pour l'ordonnanceur

  * Diverses informations sur le système

  * Nombres aléatoires

* "io" — Outils de base pour l'utilisation des flux

  * Aperçu

    * Entrée/sortie de texte

    * Binary I/O

    * Raw I/O

  * Encodage de texte

    * Opt-in EncodingWarning

  * Interface de haut niveau du module

  * Class hierarchy

    * I/O Base Classes

    * Raw File I/O

    * Buffered Streams

    * Entrée/sortie de texte

  * Performances

    * Binary I/O

    * Entrée/sortie de texte

    * Fils d'exécution

    * Réentrance

* "time" — Accès au temps et conversions

  * Fonctions

  * Constantes d’identification d’horloge

  * Constantes de fuseau horaire

* "argparse" -- Analyseur d'arguments, d'options, et de sous-commandes
  de ligne de commande

  * Fonctionnalité principale

  * Référence pour "add_argument()"

  * Exemple

    * Créer un analyseur (*parser* en anglais)

    * Ajouter des arguments

    * Analyse des arguments

  * Objets "ArgumentParser"

    * Le paramètre *prog*

    * Le paramètre *usage*

    * Le paramètre *description*

    * Le paramètre *epilog*

    * Le paramètre *parents*

    * Le paramètre *formatter_class*

    * Le paramètre *prefix_chars*

    * Le paramètre *fromfile_prefix_chars*

    * Le paramètre *argument_default*

    * Le paramètre *allow_abbrev*

    * Le paramètre *conflict_handler*

    * Le paramètre *add_help*

    * Le paramètre *exit_on_error*

  * La méthode *add_argument()*

    * Le paramètre *name_or_flags*

    * Le paramètre *action*

    * Le paramètre *nargs*

    * Le paramètre *const*

    * Le paramètre *default*

    * Le paramètre *type*

    * Le paramètre *choices*

    * Le paramètre *required*

    * Le paramètre *help*

    * Le paramètre *metavar*

    * Le paramètre *dest*

    * Classes Action

  * La méthode *parse_args()*

    * Syntaxe de la valeur des options

    * Arguments invalides

    * Arguments contenant "-"

    * Arguments abrégés (par comparaison de leurs préfixes)

    * Au-delà de "sys.argv"

    * L'objet "Namespace"

  * Autres outils

    * Sous commandes

    * Objets "FileType"

    * Groupes d'arguments

    * Exclusion mutuelle

    * Valeurs par défaut de l'analyseur

    * Afficher l'aide

    * Analyse partielle

    * Personnaliser le *parsing* de fichiers

    * Méthodes d'interruptions

    * Analyse entremêlée

  * Mettre à jour du code "optparse"

  * Exceptions

* "getopt" – Analyseur de style C pour les options de ligne de
  commande

* "logging" — Fonctionnalités de journalisation pour Python

  * Enregistreurs

  * Niveaux de journalisation

  * Gestionnaires

  * Formateurs

  * Filtres

  * Objets LogRecord

  * LogRecord attributes

  * LoggerAdapter Objects

  * Thread Safety

  * Fonctions de niveau module

  * Module-Level Attributes

  * Integration with the warnings module

* "logging.config" --- Logging configuration

  * Configuration functions

  * Security considerations

  * Configuration dictionary schema

    * Dictionary Schema Details

    * Incremental Configuration

    * Object connections

    * User-defined objects

    * Handler configuration order

    * Access to external objects

    * Access to internal objects

    * Import resolution and custom importers

  * Configuration file format

* "logging.handlers" — Gestionnaires de journalisation

  * Gestionnaire à flux — *StreamHandler*

  * Gestionnaire à fichier — *FileHandler*

  * Gestionnaire à puits sans fond — *NullHandler*

  * Gestionnaire à fichier avec surveillance — *WatchedFileHandler*

  * Base des gestionnaires à roulement — *BaseRotatingHandler*

  * Gestionnaire à roulement de fichiers — *RotatingFileHandler*

  * Gestionnaire à roulement de fichiers périodique —
    *TimedRotatingFileHandler*

  * Gestionnaire à connecteur — *SocketHandler*

  * DatagramHandler

  * SysLogHandler

  * NTEventLogHandler

  * SMTPHandler

  * MemoryHandler

  * HTTPHandler

  * QueueHandler

  * QueueListener

* Saisie de mot de passe portable

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

  * Fonctions

  * Window Objects

  * Constantes

* "curses.textpad" --- Text input widget for curses programs

  * Textbox objects

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

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

  * Fonctions

  * Panel Objects

* "platform" — Accès aux données sous-jacentes de la plateforme

  * Multiplateformes

  * Plateforme Java

  * Plateforme Windows

  * macOS Platform

  * Plateformes Unix

  * Linux Platforms

* "errno" — Symboles du système *errno* standard

* "ctypes" — Bibliothèque Python d'appels à des fonctions externes

  * Didacticiel de *ctypes*

    * Chargement des DLL

    * Accès aux fonctions des DLL chargées

    * Appel de fonctions

    * Types de données de base

    * Appel de fonctions, suite

    * Calling variadic functions

    * Appel de fonctions avec des types de données personnalisés

    * Définition du type des arguments nécessaires (prototypes de
      fonction)

    * Types de sortie

    * Passage de pointeurs (passage de paramètres par référence)

    * Structures et unions

    * Alignement et boutisme des structures et des unions

    * Champs de bits dans les structures et les unions

    * Tableaux

    * Pointeurs

    * Conversions de type

    * Types incomplets

    * Fonctions de rappel

    * Accès aux variables exportées depuis une DLL

    * Pièges

    * Types de données à taille flottante

  * Référence du module

    * Recherche de bibliothèques partagées

    * Chargement des bibliothèques partagées

    * Fonctions externes

    * Prototypes de fonction

    * Fonctions utilitaires

    * Types de données

    * Types de données de base

    * Types de données dérivés de Structure

    * Tableaux et pointeurs
