Vérifier si une chaîne de caractères (ou ligne) commence par une tabulation sous python

Un exemple simple pour tester si une chaîne de caractères commence par une tabulation sous python en passant par la méthode [startswith()](https://www.tutorialspoint.com/python/string_startswith.htm): >>> s = ' abcdefg' >>> s '\tabcdefg' >>> s.startswith('\t') True Autre exemple avec un texte sur plusieurs lignes: >>> txt = '''hello ... how ... are ... you ... today ? ... ''' >>> print(txt) hello how are you today

Itérer sur les clés et valeurs d'un dictionnaire avec un compteur sous python

Pour itérer sur les clés et valeurs d'un dictionnaire sous python 3, on peut procéder comme suit: >>> d = {'Hello':'Bonjour','Hi':'Salut','Bye':'Au revoir','Thanks':'Merci'} >>> for key, value in d.items(): ... print(key,value) ... Hello Bonjour Hi Salut Bye Au revoir Thanks Merci Maintenant si on veut en plus ajouter un compteur, on peut tout simplement utiliser [enumerate](https://docs.python.org/2/library/functions.html#enumerate): >>> for count,

Extract date and time from a CloudSat 2B GEOPROF granule using python

Example on how to extract the date (MMDDYYYY) and time from a CloudSat 2B GEOPROF granule using python import calendar #----------------------------------------------------------------------------------------# # Convert day of year to MM DD YYYY format def JulianDate_to_MMDDYYY(y,jd): month = 1 day = 0 while jd - calendar.monthrange(y,month)[1] > 0 and month <= 12: jd = jd - calendar.monthrange(y,month)[1] month = month + 1 return month,jd,y #------------------------------

How to read CloudSat 2B GEOPROF GRANULE HDF4 file using python and pyhdf ?

Simple example about how to read a CloudSat 2B GEOPROF GRANULE HDF4 file using python 3 and the pyhdf library (Note: to install python and pyhdf see the following [article](/Articles/Setup-a-python-workspace-to-start-working-with-satellite-data/)). For example, let's consider the following CloudSat HDF file : "2008025010959_09272_CS_2B-GEOPROF_GRANULE_P_R04_E02.hdf": ### Import python libraries First import all python libraries needed to read the file from pyhdf.SD import SD, SDC

How to read a MODIS HDF4 file using python and pyhdf ?

Simple example about how to read a MODIS HDF file using python and the [pyhdf](http://pysclint.sourceforge.net/pyhdf/) library (Note: To download automatically a MODIS granule on your local repertory, see [Download MODIS granule HDF files from lads using python](/Codes/Download-MODIS-granule-HDF-files-from-lads-using-ftp-and-python/)): Note 1: the following tutorial has been written with python 2.7. To migrate the code to python 3.+, it is necessary to replace the print statement by a print fun

Vérifier si une liste est imbriquée dans une autre liste avec python

Considérons deux listes l1 et l2 quelconques et on veut vérifier que l1 est imbriquée ("nested" en anglais) dans l2 (c.a.d que tous les éléments de l1 sont également dans l2). Pour cela prenons, tout d'abord comme exemple: l1 = [1,2,3,4] et l2 = [9,8,7,6,5,4,3,2,1] Pour tester si l1 est imbriquée dans l2 il existe la fonction python [issubset](https://docs.python.org/2/library/stdtypes.html#set): >>> l1 = [1,2,3,4] >>> l2 = [9,8,7,6,5,4,3,2,1] >>> set(l1).issubset(set(

How to access icare server through ssh and compile a fortran code

[Icare](http://www.icare.univ-lille1.fr/) "Data and Services Center's initial emphasis is the production and distribution of remote sensing data derived from Earth observation missions from CNES, NASA, and EUMETSAT. Note: to access icare server through ssh protocol, you need to [register](http://www.icare.univ-lille1.fr/register/account) first and provide a fixed ip address: username: xxxxx password: xxxxx fixed ip address: xxxxx #### How to access icare server through ssh Comm

Déconnecter un utilisateur inactif depuis un certain temps sous django

Avec django, pour des raisons de sécurité on peut facilement déconnecter (log-out) un utilisateur après un temps donné. Pour cela, il suffit d'ajouter dans le fichier settings.py la ligne suivante SESSION_COOKIE_AGE = time (en seconde). Par exemple si on veut déconnecter un utilisateur inactif pendant 3 heures (60 * 60 * 3 = 10800) : SESSION_COOKIE_AGE = 10800 ### Références Liens | Site ------------- | ------------- [How to set sessions timeout in django?](https://stackoverflow.com/que

Comment créer une liste de nombres entiers aléatoires avec python ?

Exemples de comment créer une liste de nombres entiers aléatoires avec python: [TOC] ### Avec la fonction randint En python pour générer un nombre entier aléatoirement dans l'intervalle [a,b] on peut utiliser randint(): >>> import random >>> random.randint(0,10) 7 >>> random.randint(0,10) 0 On peut alors créer une liste de nombres entiers aléatoires : >>> l = [random.randint(0,10) for i in range(5)] >>> l [4, 9, 8, 4, 5] ### Avec la fon

Trouver l'élément d'une liste avec le maximum d'occurrences sous python

Pour trouver l'élément d'une liste avec le maximum d'occurrences, on peut utiliser la fonction [counter](https://docs.python.org/2/library/collections.html#collections.Counter), exemple: [TOC] ### Trouver l'élément avec le maximum d'occurrences pour une liste de nombres Exemple avec une liste de nombres: >>> from collections import Counter >>> l = [8, 3, 9, 2, 7, 1, 3, 2, 0, 0, 7, 8, 6, 9, 4, 6, 3, 3, 2, 5] >>> Counter(l).most_common(1) [(3, 4)] on trouve ici co

Comment translater / décaler les elements d'une matrice sous python ?

Sous python pour translater / décaler les elements d'une matrice il existe la fonction numpy [roll](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.roll.html#numpy.roll). Exemple on veut décaler les éléments de la matrice A de deux colonnes: \begin{equation} A = \left( \begin{array}{cccc} 7 & 12 & 7 & 10 & 19 & 11 & 0 & 18 \\\\ 7 & 7 & 16 & 13 & 15 & 1 & 16 & 14 \\\\ 0 & 9 & 11 & 16 & 11 & 7 & 3 & 11 \\\\ 16 & 0 & 4 & 6 & 7 & 8 & 17 & 18 \\\\ \end{array}\right) \en

Comment créer une matrice d'entiers aléatoires en python ?

Pour créer une matrice de nombres entiers aléatoires sous python, il existe la fonction numpy intitulée [randint](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.randint.html), exemples: [TOC] ### Matrice à une dimension avec des nombres aléatoires entre 0 et 9 Exemple avec une matrice de dimension (20) avec des nombres aléatoires entre 0 et 9: >>> import numpy as np >>> A = np.random.randint(10, size=(20)) >>> A array([1, 8, 4, 3, 5, 7, 1, 2, 9, 6, 7,

Read polder/parasol L2 data using python 3 and parasolascii

#### With python os module Run parasol ascii using python os module: #!/usr/bin/env python import os filename = 'P3L2TRGB071037KL' command = 'parasolascii -c ' + filename + ' cc > ' + filename + '.ascii' os.system(command) to save polder/parasol data in an ascii file. #### With python subprocess module To read a polder/parasol file, it is not necessary to first save the data in an ascii file, one can use the python subprocess module instead, illustration: #!/usr/bin/env python im

Comment vider un dictionnaire sous python

Pour vider un dictionnaire avec python on peut faire comme dans cet exemple: >>> d = {'a':1,'b':2,'c':3} >>> d {'c': 3, 'a': 1, 'b': 2} >>> d = {} >>> d {} Cependant cette approche ne permet pas de vider des dictionnaires pointant vers d, exemple: >>> d = {'a':1,'b':2,'c':3} >>> d2 = d >>> d2 {'c': 3, 'a': 1, 'b': 2} >>> d = {} >>> d {} >>> d2 {'c': 3, 'a': 1, 'b': 2} Pour vider correctement un dictionnaire il est donc preferable de

Obtenir une liste des clés d'un dictionnaire sous python

Considérons un dictionnaire intitulé d, pour obtenir une liste des clés du dictionnaire on peut alors procéder comme ceci: >>> d = {'a':1,'b':2,'c':3} >>> type(d) <class 'dict'> >>> l = list(d.keys()) >>> l ['c', 'a', 'b'] Note: par défaut les dictionnaires sous python ne sont pas ordonnés, si on veut obtenir une liste dans un ordre précis on peut passer par [OrderedDict](https://docs.python.org/2/library/collections.html#collections.OrderedDict), exemple >>> fr

Comment lire un fichier JSON avec python ?

#### Lire un fichier JSON Considérons un fichier JSON (JavaScript Object Notation) intitulé data.json avec les données suivantes: { "abstract": "Hello how are you today ?", "link_01": { "name": "Welcome page", "priority": "1" }, "link_02": { "name": "Home page", "priority": "2" } } Pour lire le fichier avec python on peut alors procéder comme suit: with open('data.json') as json_data: print(type(json_data)) donne ici <class '_io.TextIOW

Comment copier un dictionnaire avec python ?

Pour copier un dictionnaire en python, il faut être prudent car il existe plusieurs méthodes avec des propriétés différentes: [TOC] ### Copier un dictionnaire avec deepcopy Si on veut faire une copie d'un dictionnaire mais que cette copie soit complètement indépendante, il faut utiliser la fonction [deepcopy](https://docs.python.org/2/library/copy.html) >>> import copy >>> d1 = {'a':1} >>> d2 = copy.deepcopy(d1) >>> d2 {'a': 1} Si on modifie d2 alors d1 n'e

Vérifier si une clé existe dans un dictionnaire sous python

Sous python pour vérifier si une clé existe ou non dans un dictionnaire il suffit d'utiliser l'opérateur [in](https://docs.python.org/3/library/operator.html), exemple: >>> d = {'abstract':'hello world !', 'link':'/welcome/','priority':2} >>> 'abstract' in d True >>> 'content' in d False >>> 3 in d False >>> 'priority' in d True l'utilisation de l'opérateur in donne un boolean que l'on peut alors utiliser avec if par exemple: if 'priority' in d:

Améliorer l'apparence de données JSON dans textarea input avec javascript

Exemple de comment améliorer l'apparence de données JSON dans textarea input avec javascript ([source](http://jsfiddle.net/psasik/x3hcdq97/1/)): [images:javascript-bootstrap-texarea-json-pretty-print-01;javascript-bootstrap-texarea-json-pretty-print-02 dim:1*2 size:100 caption:Améliorer l'apparence de données JSON dans textarea input avec javascript ] <!DOCTYPE html> <html lang="en"> <head> <title>JSON DATA</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/aja

Itérer (boucle) sur l'ensemble des clés et/ou valeurs d'un dictionnaire sous python

Considérons un simple dictionnaire (pour rappel un dictionnaire est constitué d'un ensemble de paires clé:valeur ) que l'on peut définir comme ceci: >>> d = {'a':1,'b':2,'c':3} >>> type(d) <class 'dict'> Pour itérer sur les clés du dictionnaire d, on peut alors procéder comme dans cet exemple: >>> for key in d: ... print(key) ... a b c Dans ce dictionnaire il y a donc 3 clés: a, b et c. Si on veut maintenant itérer sur les clés et les valeurs associées du dictionnaire, il faut

Envoyer ou récupérer un fichier sur dropbox avec python

Avec python, il est possible d'envoyer ou de récupérer un fichier sur dropbox. Pour cela il est bien entendu nécessaire de disposer d'un compte dropbox. Ensuite il suffit d'aller dans la [section](https://www.dropbox.com/developers/) dropbox pour les développeurs, puis de télécharger une [application](https://www.dropbox.com/developers/documentation/python#install) développée par dropbox pour simplifier le développement d'application basée sur python, avec la commande suivante: pip install

Conserver les données après la soumission d'un formulaire sous Django

Pouvoir conserver les données d'un visiteur après la soumission d'un formulaire est intéressant, en particulier si le formulaire est invalide et que le visiteur doit de nouveau remplir celui-ci. Considérons l'exemple suivant, on dispose d'un formulaire avec deux champs obligatoires (title et content) défini dans le fichier models.py class MyForm(forms.Form): title = forms.CharField(max_length=500) content = forms.CharField(required=False) Les données du formulaire sont a

Obtenir une liste de tous les fichiers et dossiers avec python

Avec python on peut facilement obtenir l'ensemble des fichiers et/ou des dossiers d'un répertoire en passant par la fonction [walk](https://docs.python.org/2/library/os.html#os.walk) du module os. Considérons la structure suivante en exemple: folder/ abcd.txt data.txt record.txt sub_directory/ data.txt folder_3/ Pour obtenir la liste des fichiers dans le dossier folder on peut procéder comme suit: >>> import os >>> for path

Obtenir la date de modification d'un fichier avec python

Avec python, on dispose de deux fonctions [getctime](https://docs.python.org/3/library/os.path.html#os.path.getctime) et [getmtime](https://docs.python.org/3/library/os.path.html#os.path.getmtime) pour pouvoir accéder à la date de modification d'un fichier. Exemple avec un fichier quelconque intitulé "data.txt": >>> os.path.getctime('data.txt') 1510156030.0 >>> os.path.getmtime('data.txt') 1510156030.0 Ces deux fonctions retournent souvent la même chose (voir par exemple la [di

Vérifier si une chaîne de caractères est vide avec python

Pour vérifier si une chaîne de caractères est vide (ou composée d'espaces uniquement, ou de tabulations) sous python on peut soit utiliser les méthodes len() et strip() ou isspace(). Illustration pour une chaine vide: >>> s = '' >>> if len(s) == 0: ... print "s is empty" ... s is empty ou >>> s = '' >>> if not s: ... print "s is empty" ... s is empty pour une chaîne de caractères composée d'espaces uniquement: >>> s = ' '