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:01] herve ballans ancienne révision (2018/01/05 12:41) restaurée |
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 24: | Ligne 54: | ||
</code> | | </code> | | ||
- | ==== Tests ==== | + | ==== Tests ==== |
On teste si l'utilsateur est root : | On teste si l'utilsateur est root : | ||
- | ^Bash^Python(Note)| | + | ^Bash^Python<sup>Note</sup> | |
- | | | | | + | | <code> |
+ | if [ `id -u` = 0 ] | ||
+ | then | ||
+ | echo "Attention vous êtes root!" | ||
+ | fi | ||
+ | </code> | <code> | ||
+ | import os | ||
+ | current_user = os.popen('id -u').readlines() | ||
+ | current_user = _ | ||
+ | if (current_user == 0): | ||
+ | print("Attention vous êtes root!") | ||
+ | </code> | | ||
+ | <sup>Note</sup> : on verra par la suite qu'on peut avantageusement remplacer le module os par subprocess… | ||
==== Fonctions ==== | ==== Fonctions ==== | ||
Ligne 53: | 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) ===== |