Python console/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Python console")
 
No edit summary
 
(35 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{VeryImportantMessage|(January 2020) FreeCAD was originally designed to work with Python 2. Since Python 2 reached end of life in 2020, future development of FreeCAD will be done exclusively with Python 3, and backwards compatibility will not be supported.}}
{{VeryImportantMessage|(Janvier 2020) FreeCAD a été initialement conçu pour fonctionner avec Python 2. Étant donné que Python 2 est en fin de vie, son développement futur se fera exclusivement avec Python 3, et la compatibilité avec les versions antérieures ne sera pas prise en charge.}}


== Introduction ==
== Introduction ==


{{TOCright}}
The [[Python console|Python console]] is a panel that runs an instance of the [[Python|Python]] interpreter which can be used to control FreeCAD processes, and create and modify objects and their properties.


La [[Python_console/fr|console Python]] est une console qui fait partie de l'[[interface/fr|interface utilisateur]] de FreeCAD. Elle exécute une instance de l'interpréteur [[Python/fr|Python]] qui peut être utilisé pour contrôler les processus FreeCAD, créer et modifier des objets et leurs propriétés.
The Python console in FreeCAD has basic syntax highlighting, able to differentiate with various styles and colors, comments, strings, numeric values, built in functions, printed text output, and delimiters like parentheses and commas. These properties of the console can be configured in the [[Preferences_Editor|Preferences editor]].

Elle peut être rendue visible/cachée par le menu déroulant {{MenuCommand|Visualisation → Panneaux → Console Python}}.

La console Python de FreeCAD a une coloration syntaxique de base, capable de différencier avec différents styles et couleurs, commentaires, chaînes, valeurs numériques, fonctions intégrées, sortie texte imprimée et délimiteurs tels que des parenthèses et des virgules. Ces propriétés de la console peuvent être configurées dans l’[[Preferences_Editor/fr|éditeur de préférences]].


[[File:FreeCAD_Python_console.png|800px]]
[[File:FreeCAD_Python_console.png|800px]]


{{Caption|The Python console showing messages when FreeCAD has just started.}}
{{Caption|La console Python affichant des messages lorsque FreeCAD vient de démarrer.}}


== Scripting ==
== Création de scripts ==


{{Emphasis|For absolute beginners, see:}} [[Introduction to Python|Introduction to Python]], and [[Python scripting tutorial|Python scripting tutorial]].
{{Emphasis|Pour les débutants complets, voir :}} [[Introduction to Python/fr|Introduction à Python]] et [[Python scripting tutorial/fr|Tutoriel sur les scripts Python]].


{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD scripting basics]], and [[Scripted objects|Scripted objects]].
{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts]] et [[Scripted_objects/fr|Objets créés par script]].


The Python console can perform basic code completion when a dot is written after an object; it will show public methods and attributes (variables) of the current object (class), for example, {{incode|obj.}}
La console Python peut effectuer l'achèvement du code de base lorsqu'un point est écrit après un objet. il montrera les méthodes publiques et les attributs (variables) de l'objet actuel (classe), par exemple {{incode|obj.}}


The console is also able to show the documentation string of a particular function when the opening parenthesis is written, for example, {{incode|function(}}
La console peut également afficher la chaîne de documentation d’une fonction particulière lors de l’écriture de la parenthèse ouvrante, par exemple {{incode|function(}}


[[File:FreeCAD_Python_console_example.png|800px]]
[[File:FreeCAD_Python_console_example.png|800px]]


{{Caption|Example Python code that produces objects in the 3D view.}}
{{Caption|Exemple de code Python produisant des objets dans la vue 3D.}}


Les scripts d'initialisation FreeCAD chargent automatiquement certains modules et définissent certains alias. De fait, ceux-ci sont disponibles dans la console Python.

The Python console automatically loads some modules, and defines some aliases.
{{Code|code=
{{Code|code=
App = FreeCAD
App = FreeCAD
Line 33: Line 36:
}}
}}


Par conséquent, ils sont égaux à
Therefore these are equal

{{Code|code=
{{Code|code=
App.newDocument()
App.newDocument()
FreeCAD.newDocument()
FreeCAD.newDocument()
}}
}}

{{Emphasis|Remarque :}} ces modules et alias pré-chargés ne sont disponibles qu'à partir de la console Python intégrée au programme FreeCAD. Si vous utilisez FreeCAD en tant que bibliothèque dans un programme externe, n'oubliez pas de charger les modules {{incode|FreeCAD}} et {{incode|FreeCADGui}} et de définir les alias nécessaires, si vous le souhaitez.


== Actions ==
== Actions ==


Right click on the Python console shows some commands:
Un clic droit sur la console Python affiche certaines commandes:
* {{MenuCommand|Copy}}: stores the selected text in the clipboard for later pasting; it is disabled if nothing is selected.
* {{MenuCommand|Copy}} : stocke le texte sélectionné dans le presse-papiers pour un collage ultérieur ; il est désactivé si rien n'est sélectionné.
* {{MenuCommand|Copy command}}: stores the selected command in the clipboard for later pasting; it is disabled if nothing is selected.
* {{MenuCommand|Copy command}} : stocke la commande sélectionnée dans le presse-papiers pour le coller ultérieurement ; il est désactivé si rien n'est sélectionné.
* {{MenuCommand|Copy history}}: copy the entire history of Python commands entered in this session.
* {{MenuCommand|Copy history}} : copie l'intégralité de l'historique des commandes Python entrées dans cette session.
* {{MenuCommand|Save history as}}: save the entire history of Python commands entered in this session to a text file.
* {{MenuCommand|Save history as}} : enregistre l'intégralité de l'historique des commandes Python entrées dans cette session dans un fichier texte.
* {{MenuCommand|Paste}}: paste previously copied text in the clipboard to the Python console.
* {{MenuCommand|Paste}} : colle le texte précédemment copié dans le presse-papiers dans la console Python.
* {{MenuCommand|Select all}}: selects all text in the Python console.
* {{MenuCommand|Select all}} : sélectionne tout le texte de la console Python.
* {{MenuCommand|Clear console}}: erases all commands entered into the Python console. This is useful if the Python console is full of messages and previously entered commands that may be distracting when testing a new function. This is merely aesthetic, as this command doesn't delete existing variables nor clears the imported modules in the session.
* {{MenuCommand|Clear console}} : efface toutes les commandes entrées dans la console Python. Ceci est utile si la console Python est pleine de messages et de commandes entrées précédemment qui pourraient gêner lors du test d’une nouvelle fonction. Ceci est simplement esthétique, car cette commande ne supprime pas les variables existantes ni les modules importés dans la session.
* {{MenuCommand|Insert file name}}: opens a dialog to search for a file in the system, then it inserts the full path of the file. This is useful to test functions that process an input file, without having to write the entire name in the console, which is error prone. This command does not run the file, and does not import it as a Python module, it just returns the full path of that file.
* {{MenuCommand|Insert file name}} : ouvre une boîte de dialogue pour rechercher un fichier dans le système, puis insère le chemin complet du fichier. Ceci est utile pour tester les fonctions qui traitent un fichier d'entrée sans avoir à écrire le nom complet dans la console, ce qui est sujet aux erreurs. Cette commande n'exécute pas le fichier et ne l'importe pas en tant que module Python. Elle renvoie simplement le chemin complet de ce fichier.
* {{MenuCommand|Word wrap}}: wrap very long lines that exceed the horizontal dimension of the Python console.
* {{MenuCommand|Word wrap}} : enveloppe les très longues lignes qui dépassent la dimension horizontale de la console Python.

== Remarques ==

* On a la possibilité de faire défiler l'API dans la console Python. Exemple :
*# Dans la console, tapez : {{incode|FreeCAD.}}
*# Une boîte de dialogue s'affiche avec des classes/fonctions optionnelles à choisir.
*# Faites défiler la liste pour lire la description de chaque classe/fonction.
*# En choisissant une fonction et en la faisant suivre d'un {{incode|.}}, on peut répéter les étapes 2 et 3 pour aller plus loin dans l'API.
* La complétion par tabulation/mot est prise en charge par le raccourci {{KEY|Ctrl}}+{{KEY|Espace}}.



{{Interface}}
{{Interface navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 12:38, 17 February 2022

(Janvier 2020) FreeCAD a été initialement conçu pour fonctionner avec Python 2. Étant donné que Python 2 est en fin de vie, son développement futur se fera exclusivement avec Python 3, et la compatibilité avec les versions antérieures ne sera pas prise en charge.

Introduction

La console Python est une console qui fait partie de l'interface utilisateur de FreeCAD. Elle exécute une instance de l'interpréteur Python qui peut être utilisé pour contrôler les processus FreeCAD, créer et modifier des objets et leurs propriétés.

Elle peut être rendue visible/cachée par le menu déroulant Visualisation → Panneaux → Console Python.

La console Python de FreeCAD a une coloration syntaxique de base, capable de différencier avec différents styles et couleurs, commentaires, chaînes, valeurs numériques, fonctions intégrées, sortie texte imprimée et délimiteurs tels que des parenthèses et des virgules. Ces propriétés de la console peuvent être configurées dans l’éditeur de préférences.

La console Python affichant des messages lorsque FreeCAD vient de démarrer.

Création de scripts

Pour les débutants complets, voir : Introduction à Python et Tutoriel sur les scripts Python.

Voir aussi : Débuter avec les scripts et Objets créés par script.

La console Python peut effectuer l'achèvement du code de base lorsqu'un point est écrit après un objet. il montrera les méthodes publiques et les attributs (variables) de l'objet actuel (classe), par exemple obj.

La console peut également afficher la chaîne de documentation d’une fonction particulière lors de l’écriture de la parenthèse ouvrante, par exemple function(

Exemple de code Python produisant des objets dans la vue 3D.

Les scripts d'initialisation FreeCAD chargent automatiquement certains modules et définissent certains alias. De fait, ceux-ci sont disponibles dans la console Python.

App = FreeCAD
Gui = FreeCADGui

Par conséquent, ils sont égaux à

App.newDocument()
FreeCAD.newDocument()

Remarque : ces modules et alias pré-chargés ne sont disponibles qu'à partir de la console Python intégrée au programme FreeCAD. Si vous utilisez FreeCAD en tant que bibliothèque dans un programme externe, n'oubliez pas de charger les modules FreeCAD et FreeCADGui et de définir les alias nécessaires, si vous le souhaitez.

Actions

Un clic droit sur la console Python affiche certaines commandes:

  • Copy : stocke le texte sélectionné dans le presse-papiers pour un collage ultérieur ; il est désactivé si rien n'est sélectionné.
  • Copy command : stocke la commande sélectionnée dans le presse-papiers pour le coller ultérieurement ; il est désactivé si rien n'est sélectionné.
  • Copy history : copie l'intégralité de l'historique des commandes Python entrées dans cette session.
  • Save history as : enregistre l'intégralité de l'historique des commandes Python entrées dans cette session dans un fichier texte.
  • Paste : colle le texte précédemment copié dans le presse-papiers dans la console Python.
  • Select all : sélectionne tout le texte de la console Python.
  • Clear console : efface toutes les commandes entrées dans la console Python. Ceci est utile si la console Python est pleine de messages et de commandes entrées précédemment qui pourraient gêner lors du test d’une nouvelle fonction. Ceci est simplement esthétique, car cette commande ne supprime pas les variables existantes ni les modules importés dans la session.
  • Insert file name : ouvre une boîte de dialogue pour rechercher un fichier dans le système, puis insère le chemin complet du fichier. Ceci est utile pour tester les fonctions qui traitent un fichier d'entrée sans avoir à écrire le nom complet dans la console, ce qui est sujet aux erreurs. Cette commande n'exécute pas le fichier et ne l'importe pas en tant que module Python. Elle renvoie simplement le chemin complet de ce fichier.
  • Word wrap : enveloppe les très longues lignes qui dépassent la dimension horizontale de la console Python.

Remarques

  • On a la possibilité de faire défiler l'API dans la console Python. Exemple :
    1. Dans la console, tapez : FreeCAD.
    2. Une boîte de dialogue s'affiche avec des classes/fonctions optionnelles à choisir.
    3. Faites défiler la liste pour lire la description de chaque classe/fonction.
    4. En choisissant une fonction et en la faisant suivre d'un ., on peut répéter les étapes 2 et 3 pour aller plus loin dans l'API.
  • La complétion par tabulation/mot est prise en charge par le raccourci Ctrl+Espace.