=====
Il y a 3 types de modules que l'on peut d'intégrer à son code :
- Un module écrit en Python ... (expressions rationnelles);
- Un module **built-in**, (intégré au langage) comme ''itertools''.
Quel que soit son type, le contenu d'un module est accessible de la même manière après appel à l'instruction **import**.
On s’intéresse ici aux modu
{{tag>dev python}}
====== Python: introduction ======
Quelques notes à propos des spécificités du la... * gestion automatique de la mémoire
* langage interprété et EDI divers (notebooks IDLE etc)
=====... istribués et maintenus avec Python.
===== EDI et Interpréteurs =====
IDLE (prononcer Aïdeul) est l'E... a citer: PyCharm,Syder,Emacs etc
**ipython** est interpréteur proposant des couleurs, de l'autocomplé
e classe de modèle simple : ''Product''.
===== Installation =====
Création d'un environnement virtuel Python pour le projet Flask et installation des packages via pip :
<code bash>
#cr... thon3 -m venv .venv
source .venv/bin/activate
# Installation de Flask et de l'extension Flask-Migrate
pip install Flask Flask-SQLAlchemy Flask-Migrate
</code>
es
dir(msg)
dir(str)
# Afficher la documentation intégrée de la classe str
help(msg.__class__)
help(s... >>> w = "Hello Word!"
>>> len(w)
11
</code>
==== Indexation ====
Pour accéder à un élément de la chaîne (caractère), utiliser l'opérateur d'indexation ''[]''. L'index commence à zéro et peut être négatif pour parcourir la chaîne depuis la fin.
nce** car chaque élément est accessible via son **index**.
La liste peut être vue comme une **général... >> tab is tab2
False
>>> tab == tab2
True
>>> # Inverser les éléments de tab2
>>> tab2.reverse()
>>... es méthodes =====
Pour afficher la documentation intégrée
<code python>
>>> help(ma_liste)
</code>
... uter un élément en fin de liste
* **reverse()** inverser l'ordre des éléments
* **index()** retour
breuses extensions facilement activables.
===== Installer Sphinx =====
<code bash>
# Création d'un ... ctiver l'environnement
source env/bin/activate
# Installation de Sphinx
pip install sphinx
</code>
===== Initialiser le répertoire de travail =====
Sphinx a besoin d'une arbores
{{tag>dev python snmp get}}
====== Python : Interroger un agent SNMP ======
**PySNMP** est un modul... agir autant comme manager que comme agent.
===== Installation =====
Méthode standard, depuis l'envir... onnement virtuel on utilise pip:
<code bash>
pip3 install pysnmp
</code>
===== SNMP GET =====
L'opér... t Python, il nous faut importer le module pysnmp, instancier un contrôleur et manipuler ce contrôleur
. L'objet fichier est créé avec la fonction built-in open(), il se chargera d'encoder/décoder les cara...
for cpt in range(100):
file.write(f"ligne {cpt:4d}\n")... sont des itérateur: ils peuvent être directement intégrés à une boucle for:
<code python>
file = open... path/to/file.txt', 'r', encoding='utf8')
for line in file:
# le fichier est parcouru ligne par lig
e **I**ndex). Les opérations de téléchargement, d'installation, de mises à jour ou de suppression des ... **P**ython **I**nstalls **P**ackages ou Preferred Installer Program).
===== Installation en environnement virtuel =====
Depuis la version 3.3, Python intègre la gestion des environnements virtuels. Chaq
s en POO.
Ici on utilise le paquet Flask-WTF qui intègre la bibliothèque WTForms au micro framework Flask.
===== Initialiser l'application Flask =====
Création d'un dépôt git pour le projet et initialisation de l'application Flask :
<code bash>
git init hello-wtf
cd hello-wtf/
git branch -m main
# C
des bibliothèques externes Python. Il permet:
* Installer les bibliothèques et les dépendances.
* ... es et leurs versions
<code bash>
$ sudo apt-get install python-pip
</code>
Installation de la bibliothèque pourra se faire pour l'ensemble du système o... de le remettre à jour:
<code bash>
python3 -m pip install --upgrade pip
</code>
Vérifier également l'
st une page web à trous. Il contient des sections invariantes en HTML/javascript directement interprétables par le navigateur web et des sections dynamiqu... HTML échappées) ;
* ''%%{% %}%%'' Code Python à interpréter ;
* ''%%{# #}%%'' Commentaires.
<co... _template
# ...
@app.route('/')
def supply_index() -> str:
msg = "Hello World !!!"
arger l'environnement virtuel Python du projet et installer le paquetage **Flask-Login** :
<code bash>
pip install Flask-Login
</code>
===== Création d'un Blu... ir -p auth/{templates,static,models}
touch auth/__init__.py
touch auth/models/__init__.py
</code>
Le dunder init du paquetage contient l'instanciation du
que:
* Accéder aux éléments avec l’opérateur d'indexation **[]** ;
* Le test d'appartenance avec **in** ;
* Faire du slicing etc
La différence fonda... e obligatoirement suivi par la virgule afin que l’interpréteur ne considère pas
les parenthèse comme u... e type tuple:
<code python>
>>> # Ces instructions NE créent PAS de tuple!
>>> t1 = (3)
>>