Outils pour utilisateurs

Outils du site


python:python3_pour_asr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
python:python3_pour_asr [2018/01/05 14:57] – herve ballanspython:python3_pour_asr [2018/01/09 16: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 26: Ligne 56:
 ==== Tests ==== ==== Tests ====
  
-On teste si l'utilisateur est root+On teste si l'utilsateur est root :
  
-^Bash^Python<sup>Note</sup>  | +^Bash^Python<sup>Note</sup>    | 
-|<code>+| <code>
 if [ `id -u` = 0 ] if [ `id -u` = 0 ]
 then then
     echo "Attention vous êtes root!"     echo "Attention vous êtes root!"
 fi fi
-</code>|<code>+</code>       | <code>
 import os import os
 current_user = os.popen('id -u').readlines() current_user = os.popen('id -u').readlines()
 current_user = _ current_user = _
-if (current_user ==0):+if (current_user == 0):
     print("Attention vous êtes root!")     print("Attention vous êtes root!")
-</code>| +</code>       |
- +
-Note: on verra plus loin qu'on peut avantageusement remplacer le module <font inherit/Courier New,Courier,monospace;;inherit;;inherit>os</font> par <font inherit/Courier New,Courier,monospace;;inherit;;inherit>subprocess</font> pour executer des programmes externes...+
  
 +<sup>Note</sup>  : on verra par la suite qu'on peut avantageusement remplacer le module os par subprocess…
 ==== Fonctions ==== ==== Fonctions ====
  
 ^Bash^Python (avec une f-strings s'il vous plait!)<sup>Note</sup>    | ^Bash^Python (avec une f-strings s'il vous plait!)<sup>Note</sup>    |
-|<code>+| <code>
 function processus() { function processus() {
     echo "Il s'agit du process $1"     echo "Il s'agit du process $1"
 } }
-</code> +</code>       | <code>
- +
-        +
-|<code>+
 def processus(pid): def processus(pid):
     print(f"Il s'agit du process {pid}")     print(f"Il s'agit du process {pid}")
-</code> +</code>       |
- +
-        +
-|+
  
 <sup>Note</sup>  : Python peut également prendre en paramètres un nombre arbitraire d'arguments, soit sous forme de tuple <sup>Note</sup>  : Python peut également prendre en paramètres un nombre arbitraire d'arguments, soit sous forme de tuple
Ligne 72: 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) =====
python/python3_pour_asr.1515164275.txt.gz · Dernière modification : de herve ballans