Python

De Wiki de Geonov

Python est un langage informatique.

Plus précisément, c'est un langage de programmation interprété.

1 Concaténation

Pour concaténer des variables et des constantes, il suffit d'utiliser le caractère "+". Par exemple :

prenom = 'Jean'
nom = 'Rémy'
result = "Je m'appelle " + prenom + ' ' + nom

2 Opérations sur les fichiers

2.1 Lister les fichiers d'un répertoire

Ce code ajoute le chemin des fichiers contenus par un répertoire dans une liste :

import os
list = []
dir = 'c:/temp'
for filename in os.listdir(dir):
    list.append(dir + '/' + filename)
Note-warning.png ATTENTION : En Python on utilise des / et non des \ dans le chemin des fichiers.

Pour concaténer les noms de fichier de la liste en les protégeant par un " et en les séparant par une virgule :

import os
list = []
dir = 'c:/temp'
for filename in os.listdir(dir):
    list.append(dir + '/' + filename)
concat = ','.join('"' + item + '"' for item in list)

2.2 Effacer tous les fichiers sauf un

L'idée est de lister les fichiers d'un répertoire et de les effacer via une boucle sauf le dernier (on boucle sur la liste -1 c'est à dire la liste sans le dernier élément).

import os
names = os.listdir()
names.sort()
for f in names[:-1]:
    os.unlink(f)

3 Les dates

Pour travailler avec les dates, il faut utiliser le module "datetime".

3.1 Date du jour

import datetime
now = datetime.datetime.now()

3.2 Convertir une date

import datetime
now = datetime.datetime.now()
now_ymd = now.strftime('%y%m%d')

3.3 Calcul sur les dates

"timedelta" permet d'ajouter ou de retirer des jours, heures, minutes, ... à une date.

import datetime
now = datetime.datetime.now()
yesterday = now - datetime.timedelta(days=1)
now_less_5mn = now - datetime.timedelta(minutes=5)
now_less_5mn_bis = now + datetime.timedelta(minutes=-5)

4 Formatage de chaînes

Pour des chaînes, chaque "%s" est remplacé par un élément du "tuple", dans l'ordre d'apparition :

prenom = 'Jean'
nom = 'Rémy'
print "mon prénom est %s et mon nom est %s" % (prenom, nom)

"%d" s'utilise pour les entiers et "%f" pour les décimaux.

"%f" peut être modifié, par exemple "%.2f" tronque la valeur à 2 décimales.

5 Expressions rationnelles

Note.png NOTE : Vous pouvez également consulter la page dédiée du wiki au sujet des expressions rationnelles.

5.1 Extraction de groupes

import re
line = "75000 Paris"
expression = re.match(r'^([0-9]{5}) (.*)', line)
if expression:
    # extrait toute la ligne
    print(expression.group(0))
    # extrait le premier groupe
    print(expression.group(1))
    # extrait le deuxième groupe
    print(expression.group(2))