====== 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.