====== ANTI-SÈCHE PYTHON ====== Parfois je les oublie, parfois j'en croise des très astucieuses, parfois j'ai la flemme de googler quand j'ai un souci, alors je crée cette page pour compiler tous les petits snippets Python qui m'ont servi/serviront. Certaines peuvent être évidentes, d'autres non. Cette page sera mon bloc-note perso. ---- ===== Snippets ===== === Une version du find === import os path = 'c:\\projects\\hc2\\' files = [] # r=root, d=directories, f = files for r, d, f in os.walk(path): for file in f: if '.txt' in file: files.append(os.path.join(r, file)) for f in files: print(f) === Retourner les lignes non-vides d'un fichier === with open('file.txt', 'r') as f: non_empty_lines = [line for line in f if line.strip()] === Chaîne de caractères dynamique === URL = "https://url_bidon.com/topic={id}" URL.format(id=id_bidon) === Rechercher un fichier dans une arborescence (tree) === import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: result = os.path.join(root, name) # first match result = result.append(os.path.join(root, name)) # all matches (result is a list) ===== Factorisation ===== === Affecter un booléen en fonction d'une valeur === # Plutôt que de faire... if x < 0: bool = True else: bool = False # ... on peut faire... bool = x < 0 ===== Notes ===== * Les méthodes //string.(starts|ends)with('str')// sont plus pratiques à utiliser qu'une regex.