# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-10-29 21:40+0100\n" "PO-Revision-Date: 2023-11-19 12:26-0500\n" "Last-Translator: Édith Viau \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.0.1\n" #: tutorial/stdlib.rst:5 msgid "Brief Tour of the Standard Library" msgstr "Survol de la bibliothèque standard" #: tutorial/stdlib.rst:11 msgid "Operating System Interface" msgstr "Interface avec le système d'exploitation" #: tutorial/stdlib.rst:13 msgid "" "The :mod:`os` module provides dozens of functions for interacting with the " "operating system::" msgstr "" "Le module :mod:`os` propose des dizaines de fonctions pour interagir avec le " "système d'exploitation ::" #: tutorial/stdlib.rst:16 msgid "" ">>> import os\n" ">>> os.getcwd() # Return the current working directory\n" "'C:\\\\Python312'\n" ">>> os.chdir('/server/accesslogs') # Change current working directory\n" ">>> os.system('mkdir today') # Run the command mkdir in the system shell\n" "0" msgstr "" #: tutorial/stdlib.rst:23 msgid "" "Be sure to use the ``import os`` style instead of ``from os import *``. " "This will keep :func:`os.open` from shadowing the built-in :func:`open` " "function which operates much differently." msgstr "" "Veillez bien à utiliser ``import os`` plutôt que ``from os import *``, " "sinon :func:`os.open` cache la primitive :func:`open` qui fonctionne " "différemment." #: tutorial/stdlib.rst:29 msgid "" "The built-in :func:`dir` and :func:`help` functions are useful as " "interactive aids for working with large modules like :mod:`os`::" msgstr "" "Les primitives :func:`dir` et :func:`help` sont des aides utiles lorsque " "vous travaillez en mode interactif avez des gros modules comme :mod:`os` ::" #: tutorial/stdlib.rst:32 msgid "" ">>> import os\n" ">>> dir(os)\n" "\n" ">>> help(os)\n" "" msgstr "" #: tutorial/stdlib.rst:38 msgid "" "For daily file and directory management tasks, the :mod:`shutil` module " "provides a higher level interface that is easier to use::" msgstr "" "Pour la gestion des fichiers et dossiers, le module :mod:`shutil` expose une " "interface plus abstraite et plus facile à utiliser ::" #: tutorial/stdlib.rst:41 msgid "" ">>> import shutil\n" ">>> shutil.copyfile('data.db', 'archive.db')\n" "'archive.db'\n" ">>> shutil.move('/build/executables', 'installdir')\n" "'installdir'" msgstr "" #: tutorial/stdlib.rst:51 msgid "File Wildcards" msgstr "Jokers sur les noms de fichiers" #: tutorial/stdlib.rst:53 msgid "" "The :mod:`glob` module provides a function for making file lists from " "directory wildcard searches::" msgstr "" "Le module :mod:`glob` fournit une fonction pour construire des listes de " "fichiers à partir de motifs ::" #: tutorial/stdlib.rst:56 msgid "" ">>> import glob\n" ">>> glob.glob('*.py')\n" "['primes.py', 'random.py', 'quote.py']" msgstr "" #: tutorial/stdlib.rst:64 msgid "Command Line Arguments" msgstr "Paramètres passés en ligne de commande" #: tutorial/stdlib.rst:66 #, fuzzy msgid "" "Common utility scripts often need to process command line arguments. These " "arguments are stored in the :mod:`sys` module's *argv* attribute as a list. " "For instance, let's take the following :file:`demo.py` file::" msgstr "" "Habituellement, les outils en ligne de commande ont besoin de traiter des " "paramètres qui leur sont donnés. Ces paramètres sont stockés dans la " "variable *argv* du module :mod:`sys` sous la forme d'une liste. Par exemple, " "l'affichage suivant vient de l'exécution de ``python demo.py one two three`` " "depuis la ligne de commande ::" #: tutorial/stdlib.rst:70 msgid "" "# File demo.py\n" "import sys\n" "print(sys.argv)" msgstr "" #: tutorial/stdlib.rst:74 msgid "" "Here is the output from running ``python demo.py one two three`` at the " "command line::" msgstr "" #: tutorial/stdlib.rst:77 msgid "['demo.py', 'one', 'two', 'three']" msgstr "" #: tutorial/stdlib.rst:79 msgid "" "The :mod:`argparse` module provides a more sophisticated mechanism to " "process command line arguments. The following script extracts one or more " "filenames and an optional number of lines to be displayed::" msgstr "" "Le module :mod:`argparse` fournit un mécanisme plus sophistiqué pour traiter " "les arguments de la ligne de commande. Le script suivant extrait un ou " "plusieurs noms de fichiers et un nombre facultatif de lignes à afficher ::" #: tutorial/stdlib.rst:83 msgid "" "import argparse\n" "\n" "parser = argparse.ArgumentParser(\n" " prog='top',\n" " description='Show top lines from each file')\n" "parser.add_argument('filenames', nargs='+')\n" "parser.add_argument('-l', '--lines', type=int, default=10)\n" "args = parser.parse_args()\n" "print(args)" msgstr "" #: tutorial/stdlib.rst:93 msgid "" "When run at the command line with ``python top.py --lines=5 alpha.txt beta." "txt``, the script sets ``args.lines`` to ``5`` and ``args.filenames`` to " "``['alpha.txt', 'beta.txt']``." msgstr "" "Lorsqu'il est exécuté avec la ligne de commande ``python top.py --lines=5 " "alpha.txt beta.txt``, le script définit ``args.lines`` à ``5`` et ``args." "filenames`` à ``['alpha.txt', 'beta.txt']``." #: tutorial/stdlib.rst:101 msgid "Error Output Redirection and Program Termination" msgstr "Redirection de la sortie d'erreur et fin d'exécution" #: tutorial/stdlib.rst:103 msgid "" "The :mod:`sys` module also has attributes for *stdin*, *stdout*, and " "*stderr*. The latter is useful for emitting warnings and error messages to " "make them visible even when *stdout* has been redirected::" msgstr "" "Le module :mod:`sys` a aussi des attributs pour *stdin*, *stdout* et " "*stderr*. Ce dernier est utile pour émettre des messages d'avertissement ou " "d'erreur qui restent visibles même si *stdout* est redirigé ::" #: tutorial/stdlib.rst:107 msgid "" ">>> sys.stderr.write('Warning, log file not found starting a new one\\n')\n" "Warning, log file not found starting a new one" msgstr "" #: tutorial/stdlib.rst:110 msgid "The most direct way to terminate a script is to use ``sys.exit()``." msgstr "" "Le moyen le plus direct de terminer un script est d'utiliser ``sys.exit()``." #: tutorial/stdlib.rst:116 msgid "String Pattern Matching" msgstr "Recherche de motifs dans les chaînes" #: tutorial/stdlib.rst:118 msgid "" "The :mod:`re` module provides regular expression tools for advanced string " "processing. For complex matching and manipulation, regular expressions offer " "succinct, optimized solutions::" msgstr "" "Le module :mod:`re` fournit des outils basés sur les expressions " "rationnelles permettant des opérations complexes sur les chaînes. C'est une " "solution optimisée, utilisant une syntaxe concise, pour rechercher des " "motifs complexes ou effectuer des remplacements complexes dans les chaînes ::" #: tutorial/stdlib.rst:122 msgid "" ">>> import re\n" ">>> re.findall(r'\\bf[a-z]*', 'which foot or hand fell fastest')\n" "['foot', 'fell', 'fastest']\n" ">>> re.sub(r'(\\b[a-z]+) \\1', r'\\1', 'cat in the the hat')\n" "'cat in the hat'" msgstr "" #: tutorial/stdlib.rst:128 msgid "" "When only simple capabilities are needed, string methods are preferred " "because they are easier to read and debug::" msgstr "" "Lorsque les opérations sont simples, il est préférable d'utiliser les " "méthodes des chaînes. Elles sont plus lisibles et plus faciles à déboguer ::" #: tutorial/stdlib.rst:131 msgid "" ">>> 'tea for too'.replace('too', 'two')\n" "'tea for two'" msgstr "" #: tutorial/stdlib.rst:138 msgid "Mathematics" msgstr "Mathématiques" #: tutorial/stdlib.rst:140 #, fuzzy msgid "" "The :mod:`math` module gives access to the underlying C library functions " "for floating-point math::" msgstr "" "Le module :mod:`math` donne accès aux fonctions sur les nombres à virgule " "flottante (*float* en anglais) de la bibliothèque C ::" #: tutorial/stdlib.rst:143 msgid "" ">>> import math\n" ">>> math.cos(math.pi / 4)\n" "0.70710678118654757\n" ">>> math.log(1024, 2)\n" "10.0" msgstr "" #: tutorial/stdlib.rst:149 msgid "The :mod:`random` module provides tools for making random selections::" msgstr "" "Le module :mod:`random` offre des outils pour faire des tirages aléatoires ::" #: tutorial/stdlib.rst:151 msgid "" ">>> import random\n" ">>> random.choice(['apple', 'pear', 'banana'])\n" "'apple'\n" ">>> random.sample(range(100), 10) # sampling without replacement\n" "[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]\n" ">>> random.random() # random float\n" "0.17970987693706186\n" ">>> random.randrange(6) # random integer chosen from range(6)\n" "4" msgstr "" #: tutorial/stdlib.rst:161 msgid "" "The :mod:`statistics` module calculates basic statistical properties (the " "mean, median, variance, etc.) of numeric data::" msgstr "" "Le module :mod:`statistics` permet de calculer des valeurs statistiques " "basiques (moyenne, médiane, variance…) ::" #: tutorial/stdlib.rst:164 msgid "" ">>> import statistics\n" ">>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]\n" ">>> statistics.mean(data)\n" "1.6071428571428572\n" ">>> statistics.median(data)\n" "1.25\n" ">>> statistics.variance(data)\n" "1.3720238095238095" msgstr "" #: tutorial/stdlib.rst:173 msgid "" "The SciPy project has many other modules for numerical " "computations." msgstr "" "Le projet SciPy contient beaucoup d'autres modules " "dédiés aux calculs numériques." #: tutorial/stdlib.rst:179 msgid "Internet Access" msgstr "Accès à internet" #: tutorial/stdlib.rst:181 msgid "" "There are a number of modules for accessing the internet and processing " "internet protocols. Two of the simplest are :mod:`urllib.request` for " "retrieving data from URLs and :mod:`smtplib` for sending mail::" msgstr "" "Il existe beaucoup de modules permettant d'accéder à internet et gérer les " "protocoles réseaux. Les deux plus simples sont :mod:`urllib.request` qui " "permet de récupérer des données à partir d'une URL et :mod:`smtplib` pour " "envoyer des courriers électroniques ::" #: tutorial/stdlib.rst:185 msgid "" ">>> from urllib.request import urlopen\n" ">>> with urlopen('http://worldtimeapi.org/api/timezone/etc/UTC.txt') as " "response:\n" "... for line in response:\n" "... line = line.decode() # Convert bytes to a str\n" "... if line.startswith('datetime'):\n" "... print(line.rstrip()) # Remove trailing newline\n" "...\n" "datetime: 2022-01-01T01:36:47.689215+00:00\n" "\n" ">>> import smtplib\n" ">>> server = smtplib.SMTP('localhost')\n" ">>> server.sendmail('soothsayer@example.org', 'jcaesar@example.org',\n" "... \"\"\"To: jcaesar@example.org\n" "... From: soothsayer@example.org\n" "...\n" "... Beware the Ides of March.\n" "... \"\"\")\n" ">>> server.quit()" msgstr "" #: tutorial/stdlib.rst:204 msgid "(Note that the second example needs a mailserver running on localhost.)" msgstr "" "(Notez que le deuxième exemple a besoin d'un serveur mail tournant " "localement.)" #: tutorial/stdlib.rst:210 msgid "Dates and Times" msgstr "Dates et heures" #: tutorial/stdlib.rst:212 msgid "" "The :mod:`datetime` module supplies classes for manipulating dates and times " "in both simple and complex ways. While date and time arithmetic is " "supported, the focus of the implementation is on efficient member extraction " "for output formatting and manipulation. The module also supports objects " "that are timezone aware. ::" msgstr "" "Le module :mod:`datetime` propose des classes pour manipuler les dates et " "les heures de manière simple ou plus complexe. Bien que faire des calculs de " "dates et d'heures soit possible, la priorité de l'implémentation est mise " "sur l'extraction efficace des attributs pour le formatage et la " "manipulation. Le module gère aussi les objets dépendant des fuseaux " "horaires ::" #: tutorial/stdlib.rst:218 msgid "" ">>> # dates are easily constructed and formatted\n" ">>> from datetime import date\n" ">>> now = date.today()\n" ">>> now\n" "datetime.date(2003, 12, 2)\n" ">>> now.strftime(\"%m-%d-%y. %d %b %Y is a %A on the %d day of %B.\")\n" "'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'\n" "\n" ">>> # dates support calendar arithmetic\n" ">>> birthday = date(1964, 7, 31)\n" ">>> age = now - birthday\n" ">>> age.days\n" "14368" msgstr "" #: tutorial/stdlib.rst:236 msgid "Data Compression" msgstr "Compression de données" #: tutorial/stdlib.rst:238 msgid "" "Common data archiving and compression formats are directly supported by " "modules including: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:" "`zipfile` and :mod:`tarfile`. ::" msgstr "" "Les formats d'archivage et de compression les plus communs sont directement " "gérés par les modules :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :" "mod:`zipfile` et :mod:`tarfile` ::" #: tutorial/stdlib.rst:242 msgid "" ">>> import zlib\n" ">>> s = b'witch which has which witches wrist watch'\n" ">>> len(s)\n" "41\n" ">>> t = zlib.compress(s)\n" ">>> len(t)\n" "37\n" ">>> zlib.decompress(t)\n" "b'witch which has which witches wrist watch'\n" ">>> zlib.crc32(s)\n" "226805979" msgstr "" #: tutorial/stdlib.rst:258 msgid "Performance Measurement" msgstr "Mesure des performances" #: tutorial/stdlib.rst:260 msgid "" "Some Python users develop a deep interest in knowing the relative " "performance of different approaches to the same problem. Python provides a " "measurement tool that answers those questions immediately." msgstr "" "Certains utilisateurs de Python sont très intéressés par les performances de " "différentes approches d'un même problème. Python propose un outil de mesure " "répondant simplement à ces questions." #: tutorial/stdlib.rst:264 msgid "" "For example, it may be tempting to use the tuple packing and unpacking " "feature instead of the traditional approach to swapping arguments. The :mod:" "`timeit` module quickly demonstrates a modest performance advantage::" msgstr "" "Par exemple, pour échanger deux variables, il peut être tentant d'utiliser " "l'empaquetage et le dépaquetage de *n*-uplets plutôt que la méthode " "traditionnelle. Le module :mod:`timeit` montre rapidement le léger gain de " "performance obtenu ::" #: tutorial/stdlib.rst:268 msgid "" ">>> from timeit import Timer\n" ">>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()\n" "0.57535828626024577\n" ">>> Timer('a,b = b,a', 'a=1; b=2').timeit()\n" "0.54962537085770791" msgstr "" #: tutorial/stdlib.rst:274 msgid "" "In contrast to :mod:`timeit`'s fine level of granularity, the :mod:`profile` " "and :mod:`pstats` modules provide tools for identifying time critical " "sections in larger blocks of code." msgstr "" "En opposition à :mod:`timeit` et sa granularité fine, :mod:`profile` et :mod:" "`pstats` fournissent des outils permettant d'identifier les parties les plus " "gourmandes en temps d'exécution dans des volumes de code plus grands." #: tutorial/stdlib.rst:282 msgid "Quality Control" msgstr "Contrôle qualité" #: tutorial/stdlib.rst:284 msgid "" "One approach for developing high quality software is to write tests for each " "function as it is developed and to run those tests frequently during the " "development process." msgstr "" "Une approche possible pour développer des applications de très bonne qualité " "est d'écrire des tests pour chaque fonction au fur et à mesure de son " "développement, puis d'exécuter ces tests fréquemment lors du processus de " "développement." #: tutorial/stdlib.rst:288 msgid "" "The :mod:`doctest` module provides a tool for scanning a module and " "validating tests embedded in a program's docstrings. Test construction is " "as simple as cutting-and-pasting a typical call along with its results into " "the docstring. This improves the documentation by providing the user with an " "example and it allows the doctest module to make sure the code remains true " "to the documentation::" msgstr "" "Le module :mod:`doctest` cherche des tests dans les chaînes de " "documentation. Un test ressemble à un simple copier-coller d'un appel et son " "résultat depuis le mode interactif. Cela améliore la documentation en " "fournissant des exemples tout en prouvant qu'ils sont justes ::" #: tutorial/stdlib.rst:295 msgid "" "def average(values):\n" " \"\"\"Computes the arithmetic mean of a list of numbers.\n" "\n" " >>> print(average([20, 30, 70]))\n" " 40.0\n" " \"\"\"\n" " return sum(values) / len(values)\n" "\n" "import doctest\n" "doctest.testmod() # automatically validate the embedded tests" msgstr "" #: tutorial/stdlib.rst:306 msgid "" "The :mod:`unittest` module is not as effortless as the :mod:`doctest` " "module, but it allows a more comprehensive set of tests to be maintained in " "a separate file::" msgstr "" "Le module :mod:`unittest` requiert plus d'efforts que le module :mod:" "`doctest` mais il permet de construire un jeu de tests plus complet que l'on " "fait évoluer dans un fichier séparé ::" #: tutorial/stdlib.rst:310 msgid "" "import unittest\n" "\n" "class TestStatisticalFunctions(unittest.TestCase):\n" "\n" " def test_average(self):\n" " self.assertEqual(average([20, 30, 70]), 40.0)\n" " self.assertEqual(round(average([1, 5, 7]), 1), 4.3)\n" " with self.assertRaises(ZeroDivisionError):\n" " average([])\n" " with self.assertRaises(TypeError):\n" " average(20, 30, 70)\n" "\n" "unittest.main() # Calling from the command line invokes all tests" msgstr "" #: tutorial/stdlib.rst:328 msgid "Batteries Included" msgstr "Piles fournies" #: tutorial/stdlib.rst:330 msgid "" "Python has a \"batteries included\" philosophy. This is best seen through " "the sophisticated and robust capabilities of its larger packages. For " "example:" msgstr "" "Python adopte le principe des \"piles fournies\". Vous pouvez le constater " "au travers des fonctionnalités évoluées et solides fournies par ses plus " "gros paquets. Par exemple :" #: tutorial/stdlib.rst:333 msgid "" "The :mod:`xmlrpc.client` and :mod:`xmlrpc.server` modules make implementing " "remote procedure calls into an almost trivial task. Despite the modules' " "names, no direct knowledge or handling of XML is needed." msgstr "" "Les modules :mod:`xmlrpc.client` et :mod:`xmlrpc.server` permettent " "d'appeler des fonctions à distance quasiment sans effort. En dépit du nom " "des modules, aucune connaissance du XML n'est nécessaire." #: tutorial/stdlib.rst:337 msgid "" "The :mod:`email` package is a library for managing email messages, including " "MIME and other :rfc:`2822`-based message documents. Unlike :mod:`smtplib` " "and :mod:`poplib` which actually send and receive messages, the email " "package has a complete toolset for building or decoding complex message " "structures (including attachments) and for implementing internet encoding " "and header protocols." msgstr "" "Le paquet :mod:`email` est une bibliothèque pour gérer les messages " "électroniques, incluant les MIME et autres encodages basés sur la :rfc:" "`2822`. Contrairement à :mod:`smtplib` et :mod:`poplib` qui envoient et " "reçoivent des messages, le paquet *email* est une boite à outils pour " "construire, lire des structures de messages complexes (comprenant des pièces " "jointes) ou implémenter des encodages et protocoles." #: tutorial/stdlib.rst:344 msgid "" "The :mod:`json` package provides robust support for parsing this popular " "data interchange format. The :mod:`csv` module supports direct reading and " "writing of files in Comma-Separated Value format, commonly supported by " "databases and spreadsheets. XML processing is supported by the :mod:`xml." "etree.ElementTree`, :mod:`xml.dom` and :mod:`xml.sax` packages. Together, " "these modules and packages greatly simplify data interchange between Python " "applications and other tools." msgstr "" "Le paquet :mod:`json` permet de lire et d'écrire du JSON, format d'encodage " "de données répandu. Le module :mod:`csv` gère la lecture et l'écriture de " "données stockées sous forme de valeurs séparées par des virgules dans des " "fichiers (*Comma-Separated Values* en anglais), format typiquement " "interopérable avec les bases de données et les feuilles de calculs. Pour la " "lecture du XML, utilisez les paquets :mod:`xml.etree.ElementTree`, :mod:`xml." "dom` et :mod:`xml.sax`. Combinés, ces modules et paquets simplifient " "grandement l'échange de données entre les applications Python et les autres " "outils." #: tutorial/stdlib.rst:353 msgid "" "The :mod:`sqlite3` module is a wrapper for the SQLite database library, " "providing a persistent database that can be updated and accessed using " "slightly nonstandard SQL syntax." msgstr "" "Le module :mod:`sqlite3` est une abstraction de la bibliothèque SQLite, " "permettant de manipuler une base de données persistante, accédée et " "manipulée en utilisant une syntaxe SQL quasi standard." #: tutorial/stdlib.rst:357 msgid "" "Internationalization is supported by a number of modules including :mod:" "`gettext`, :mod:`locale`, and the :mod:`codecs` package." msgstr "" "L'internationalisation est possible grâce à de nombreux paquets tels que :" "mod:`gettext`, :mod:`locale` ou :mod:`codecs`." #: tutorial/stdlib.rst:27 msgid "built-in function" msgstr "fonction native" #: tutorial/stdlib.rst:27 msgid "help" msgstr "aide"