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

Limiter le nombre de cases à cocher sélectionnées avec javascript et bootstrap

Simple illustration de comment limiter le nombre de cases à cocher sélectionnées avec javascript ([source](http://jsfiddle.net/vVxM2/)) et de comment améliorer l'apparence avec bootstrap ([source](https://bootsnipp.com/snippets/featured/checked-list-group)). Dans cet exemple on souhaite que l'utilisateur ne puisse sélectionner que deux cases au maximum (Note pour changer la limite il suffit d'éditer la ligne suivante: var limit = 2; dans le code complet ci-dessous). [image:bootstrap-limited-che

Sélectionner certaines colonnes d'un fichier de données avec numpy de python

Considérons le cas suivant: on dispose d'un simple fichier de données: 0.37697331 0.47032772 0.69907707 0.47092273 0.28904637 0.0610754 0.88482415 0.0494154 0.29280933 0.45777159 0.46547072 0.88173601 0.73288691 0.40003478 0.17603331 0.69995587 0.84150566 0.66997278 0.65883318 0.79641699 0.27365186 0.86920001 0.56418446 0.09814907 0.51637348 0.85794189 0.57137175 0.52218132 0.66951256 0.76931912 0.72998093 0.44804322 0.33622477 0.7

Générer un tableau (matrice) de nombres aléatoires avec numpy de python

Pour créer un tableau (matrice) de nombres aléatoires avec numpy il existe la fonction [numpy.random.rand](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.random.rand.html), qui accepte comme argument les dimensions de la matrice, exemple: >>> np.random.rand(5,2) array([[ 0.16464348, 0.21037397], [ 0.50112698, 0.54692043], [ 0.28375204, 0.80156717], [ 0.09403288, 0.97277246], [ 0.28855412, 0.23052145]]) pour générer un

Bouton sur toute la largeur avec bootstrap

Avec bootstrap on peut facilement créer un bouton <button type="submit" class="btn btn-default" >Search</button> si on veut que le bouton fasse toute la largeur du "block" dans lequel il est placé il suffit de rajouter, sous bootstrap v3 or 4, l'option "btn-block", comme ceci: <button type="submit" class="btn btn-default btn-block" >Search</button> Note 1: Pour centrer un bouton il faut ajouter "text-center" dans un bloc contenant le bouton. Note 2: pour bootstrap v2, l'option étai

Comment mettre une image / logo (ou favicon) à côté de l'adresse url ?

Pour identifier votre site web il est possible de rajouter une image à côté de l'adresse url. Cette image est appelée une [Favicon](http://en.wikipedia.org/wiki/Favicon) (voir exemple de la favicon de youtube sur l'image ci-contre). Le plus simple pour ajouter une image est d'utiliser directement la ligne de code suivante dans l'entête de votre page HTML avec une image MonImage.png quelconque: <link rel="icon" type="image/png" href="MonImage.png" /> [image:529 size:100 caption:Mettre une i

Commande unix pour obtenir une liste des répertoires et leurs tailles

Pour obtenir une liste des répertoires sur linux il existe la commande couramment utilisée [ls](https://www.techonthenet.com/unix/basic/ls.php): ls Pour afficher les répertoires uniquement on peut utiliser l'option -d: ls -d Si on veut afficher les répertoires et leurs tailles on peut utiliser la commande [du](https://www.tecmint.com/check-linux-disk-usage-of-files-and-directories/) (disk usage) avec l'option h: du -h donne par exemple: 32K ./rep_01 32K ./rep_02

Télécharger une image d'un site web avec python

Sauvegarder localement une image provenant d'un site web quelconque est une opération relativement simple avec python grâce au module [urllib](https://docs.python.org/2/library/urllib.html). Imaginons que l'on souhaite sauvegarder une image satellite du site de la NASA par exemple: [Image NASA](http://modis-atmos.gsfc.nasa.gov/IMAGES/MYD02/GRANULE/2013_07_07/188.1305.rgb143.jpg), pour cela il suffit d'écrire les deux lignes de code suivantes: Python 3: >>> import urllib.request >>> url

Comment éviter avec django la page "Confirm Form Resubmission"

Dans cet article on va voir comment éviter avec django (testé avec la 1.11) la page "Confirm Form Resubmission" pour un site web. Cette page blanche ou grisée peut apparaitre après avoir soumis un formulaire, si le visiteur clique sur rafraichir la page ou bien sur le button retour dans son navigateur. Cette caractéristique se justifie pour des raisons de sécurité, surtout si par exemple les champs du formulaire sont utilisés pour modifier la base de données. Cependant, dans certains cas, comme

Ecrire un code en python pour illustrer le développement limité en 0 de sinus

Même exemple que [précédemment](/Articles/Ecrire-un-code-en-python-pour-illustrer-le-développement-limité-en-0-de-cosinus/) mais avec la fonction sinus. Exemple de comment implementer en python un code pour calculer le développement limité en 0 de la fonction sinus: [image:dl0-sinus size:100 caption:Ecrire un code en python pour illustrer le développement limité en 0 de la fonction sinus] # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import math #---------

Comment simplifier une fraction (Mathématiques) ?

Dans cet article on va voir comment simplifier une fraction en mathématiques. Pour cela, il faut tout d'abord rappeler la définition du mot fraction et ce que l'on entend par simplifier une fraction en mathématiques ? **Définition de Fraction:** on appelle fraction une division non effectuée entre deux nombres entiers relatifs n et d (avec d $\neq 0$): \begin{equation} \frac{n}{d} \end{equation} avec n le nombre du haut que l'on appelle numérateur et d le nombre du bas que l'on appelle le dé