Table of Contents

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