Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
python:python3_pour_asr [2018/01/05 16:06] herve ballans |
python:python3_pour_asr [2018/01/09 17:42] (Version actuelle) herve ballans |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== Utiliser Python3 en Admin Systèmes et Réseaux ====== | ====== Utiliser Python3 en Admin Systèmes et Réseaux ====== | ||
- | Note : les exemples sont testés avec iptyhon3 | + | Note : les exemples sont testés avec le programme //iptyhon3// (Python 3.6.3, IPython 5.1.0) |
+ | ===== En-tête de fichier ===== | ||
+ | |||
+ | Spécifie l'environnement ainsi que l'encodage utiliusé (utf-8) : | ||
+ | |||
+ | <code> | ||
+ | #!/usr/bin/env python3 | ||
+ | # -*- coding: utf8 -*- | ||
+ | </code> | ||
+ | |||
+ | ===== Documentation ===== | ||
+ | |||
+ | Grace aux docstrings, il est très facile (et recommandé!) de documenter son code : | ||
+ | |||
+ | <code> | ||
+ | def server(): | ||
+ | """Définit les caractéristiques du serveur""" | ||
+ | </code> | ||
+ | |||
+ | L'accès à la documentation peut se faire de 2 manières, soit par la fonction help() : | ||
+ | |||
+ | <code> | ||
+ | help(server) | ||
+ | </code> | ||
+ | |||
+ | soit avec l'attribut //__doc__// | ||
+ | <code> | ||
+ | server.__doc__ | ||
+ | </code> | ||
===== Bash vs Python3 ===== | ===== Bash vs Python3 ===== | ||
+ | |||
+ | Les exemples de cette section n'ont pas grand sens en soi, ils servent juste ici à illustrer la différence entre l'écriture de routines en bash et en Python. Ces bases serviront pour les sections suivantes. | ||
==== Boucles ==== | ==== Boucles ==== | ||
Ligne 28: | Ligne 58: | ||
On teste si l'utilsateur est root : | On teste si l'utilsateur est root : | ||
- | ^Bash^Python| | + | ^Bash^Python<sup>Note</sup> | |
| <code> | | <code> | ||
if [ `id -u` = 0 ] | if [ `id -u` = 0 ] | ||
Ligne 40: | Ligne 70: | ||
if (current_user == 0): | if (current_user == 0): | ||
print("Attention vous êtes root!") | print("Attention vous êtes root!") | ||
- | </code> | | + | </code> | |
+ | <sup>Note</sup> : on verra par la suite qu'on peut avantageusement remplacer le module os par subprocess… | ||
==== Fonctions ==== | ==== Fonctions ==== | ||
Ligne 64: | Ligne 95: | ||
def processus(**kwargs) | def processus(**kwargs) | ||
</code> | </code> | ||
+ | |||
+ | ===== Module os ===== | ||
+ | |||
+ | ce module contient plusieurs objets permettant d'intéragir avec le système | ||
===== Modules utiles (depuis des librairies standards) ===== | ===== Modules utiles (depuis des librairies standards) ===== |