Skip to content

3.Libraries

PyLib

  • Input / Output:
    • Formattage de chaine:
      • Formatted String Literals :
        • Appelée f-strings
        • Syntaxe: F"…{var[:formattage]}…" : permet d'inclure une expression dans la chaine
      • str.format()
    • Conversion vers String :
      • repr() : retourne une chaine interpretable par le runtime
      • str() : retourne une chaine lisible par un humain
    • input() : saisie utilisateur (console)
    • File :
      • open() : retourne un objet fichier
      • Block with/as:
        • permet d'utiliser le fichier dans le block
        • Gère la fermeture auto du fichier si EOF ou exception ou tout simplement une fois le block terminé
      • f.close()
      • for line in f: => itère sur les lignes du fichier
      • f.write()
      • f.read([size]):
        • Lit l'ensemble du fichier ou bien la taille specifiée
        • "it’s your problem if the file is twice as large as your machine’s memory"
      • f.seek(offset, from):
        • Se déplace dans le fichier selon un nombre d'octets
        • Si from = 0 alors indique le début du fichier
        • Si from = 1 alors indique la position courante
        • Si from = 2 alors indique la fin du fichier
    • Module json :
      • import json
      • pour conversion/deconversion en JSON
      • json.dump(obj[, file]) :
        • convertit un objet en chaine JSON
        • Peut ecrire la chaine dans un fichier
      • json.load(file) : converti une chaine JSON en objet

Flask

  • Intro:
    • https://flask.palletsprojects.com/en/1.1.x/
    • Install: pip install flask
    • Lancement du serveur:
      • set FLASK_APP=fichier.py
      • flask run OU python -m flask run
      • Arg "--host=0.0.0.0" autorise un accès externe au serveur
    • FLASK_ENV=development
      • Autorise le debug
      • Reload automatiquement le serveur sur changement de code
      • Active le mode debug dans l'app Flask (FLASK_DEBUG=1 pour gérer ce mode séparement)
    • Par défaut, une route répond au GET
    • Objet request
      • Est global mais multi thread safe (notion de Context Locals)
        • These objects are actually proxies to objects that are local to a specific context
      • Contient toutes les infos sur la requête client
      • Utiliser la fonction test_request_context() pour mapper un objet local au "vrai" objet pour les tests unitaires
    • Objet response
      • Construit automatiquement en fonction du retour de la fonction handler
      • Utiliser make_response() dans le handler pour obtenir l'objet de réponse courant
    • Templating:
      • Fichiers HTML ou autre à mettre dans \templates
      • Fonction render_template de Flask (from Flask import render_template)