import osfichiers = os.listdir(".") # liste le dossier courantos.path.exists("test.txt") # True si le fichier existeos.path.join("dossier", "fichier.txt") # construit un chemin correct (Windows/Linux)import oscle_api = os.environ.get("API_KEY", "valeur_par_defaut")os.environ["MA_VARIABLE"] = "valeur" # definir pour le processus courantimport sysprint(sys.argv) # ['mon_script.py', 'arg1', 'arg2']print(sys.argv[1]) # 'arg1' : premier argument passesys.exit(1) # quitte le programme avec un code d'erreur (1 = erreur)import syssys.version # version de Python installeesys.platform # 'linux', 'win32', 'darwin' (Mac)...import jsonwith open("data.json") as f: data = json.load(f) # fichier -> dict Pythonwith open("data.json", "w") as f: json.dump(data, f, indent=4) # dict Python -> fichierfrom datetime import datetimemaintenant = datetime.now()print(maintenant) # 2026-01-15 14:30:00.123456print(maintenant.year, maintenant.month) # acces aux champs individuelsfrom datetime import datetime, timedeltamaintenant = datetime.now()maintenant.strftime("%d/%m/%Y %H:%M") # '15/01/2026 14:30'demain = maintenant + timedelta(days=1) # ajoute 1 jourdans_1h = maintenant + timedelta(hours=1)import logginglogging.basicConfig(level=logging.INFO)logging.info("Message d'information")logging.warning("Message d'avertissement")logging.error("Message d'erreur")import logginglogging.basicConfig( filename="app.log", level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")logging.info("Ecrit dans app.log au lieu de la console")import retexte = "Contact : alice@mail.com"resultat = re.search(r"[\w.]+@[\w.]+", texte)if resultat: print(resultat.group()) # 'alice@mail.com'import rere.sub(r"\d+", "X", "abc123def456") # 'abcXdefX' : remplace les chiffresre.split(r"[,;]", "a,b;c") # ['a', 'b', 'c'] : coupe sur , ou ;