String to float conversion with python

To convert a string to a float, one can use the python built-in function called [float()](https://docs.python.org/2/library/functions.html#float), example: >>> s = '3.1415' >>> type(s) <class 'str'> >>> s = float(s) >>> type(s) <class 'float'> However, if the string variable can't be converted to float, the following error message appears: ValueError: could not convert string to float: To avoid that, we can process as below: >>> try: ... float(s)

Convertir une chaîne de caractères en float sous python

Pour convertir une chaîne de caractères en float sous python on peut utiliser la fonction "built-in" intitulée [float()](https://docs.python.org/2/library/functions.html#float), exemple: >>> s = '3.1415' >>> type(s) <class 'str'> >>> s = float(s) >>> type(s) <class 'float'> Cependant si la chaîne de caractères ne peut pas être convertie en float on va obtenir le message d'erreur suivant ValueError: could not convert string to float: pour éviter cela on peut procéd

How to sum a list of numbers in python ?

Examples of how to sum a list of numbers in python: [TOC] ### Using the sum() function To add all the elements of a list, a solution is to use the built-in function [sum()](https://docs.python.org/2/library/functions.html), illustration: >>> list = [1,2,3,4] >>> sum(list) 10 Example with float numbers: >>> l = [3.1,2.5,6.8] >>> sum(l) 12.399999999999999 Note: it is possible to round the sum (see also [Floating Point Arithmetic: Issues and Limitati

Rendre son site "mobile-friendly" avec bootstrap

Simple guide rapide sur quelques points clés pour rendre son site "mobile-friendly" avec bootstrap. La première étape consiste a tester si son site est "mobile-friendly". Pour cela il existe plusieurs approches. Pour tester un site déjà en ligne on peut par exemple utiliser l'outil de [google](https://search.google.com/test/mobile-friendly?utm_source=mft&utm_medium=redirect&utm_campaign=mft-redirect) (noter qu'il existe aussi d'autres [tests](https://www.searchenginepeople.com/blog/150441155-mob

How to create a list of numbers in python ?

Examples of how to create a list of numbers in python using [list comprehensions](http://python-3-patterns-idioms-test.readthedocs.io/en/latest/Comprehensions.html) or built-in functions [list()](https://docs.python.org/2/library/functions.html#list): [TOC] ### Create a list of integers To create a list of integers between 0 and N, a solution is to use the range(N) function: >>> l = [i for i in range(10)] >>> l [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> l = list(range(10))

How to get the last element of a list in python ?

Simple example on how to get the last element of a list in python >>> a = [5,2,7,8] >>> a[-1] # gets the last element 8 Another example on how to get the last but one element of a list in python: >>> a[-2] # gets the second to last 7 ### References Liens | Site ------------- | ------------- [Data Structures](https://docs.python.org/2/tutorial/datastructures.html) | Python Doc [How to get the last element of a list?](http://stackoverflow.com/questions/930397/how-to-get

Arguments en ligne de commande en Fortran

Pour mettre des arguments d'entrées en compilant un programme fortran il existe la fonction intrinsèque [GETARG](https://gcc.gnu.org/onlinedocs/gfortran/GETARG.html). Un exemple minimaliste de programme fortran (test_getarg.f90): program test_getarg integer :: i character(len=32) :: arg do i = 1, iargc() call getarg(i, arg) write (6,*) arg end do end program Pour compiler ce code: gfortran test_getarg.f90 -o test_getarg. L'execution du code avec les arguments arg1 arg2 a

Comment transformer les lettres majuscules en minuscules d'une chaine sous python

Pour transformer les lettres majuscules en minuscules d'une chaine sous python il existe la fonction [lower](https://docs.python.org/2/library/string.html): >>> s = "HELLO" >>> s = s.lower() >>> s 'hello' Si on veut transformer les lettres majuscules en minuscules sauf la première lettre on peut utiliser [capitalize() ](https://www.geeksforgeeks.org/string-capitalize-python/): >>> s = 'HELLO WORLD' >>> s.capitalize() 'Hello world' Note: avec le web

Construire une fonction de répartition et la tracer avec python

Pour créer et tracer une fonction de repartition avec python, on peut utiliser la fonction numpy [cumsum](https://docs.scipy.org/doc/numpy/reference/generated/numpy.cumsum.html), exemple: [images:cumulative-distribution-01;cumulative-distribution-cumsum dim:1*2 size:100 caption:Construire une fonction de répartition et la tracer avec python] from random import gauss import matplotlib.pyplot as plt import numpy as np N = 10000 x = np.random.normal(size = N) #--------------------------

Vérifier si une variable passée dans un template est vide sous django

Soit par exemple une variable ("my_variable") de type "string" passée dans un template: def my_view(request): .. .. my_variable = '' context = {my_variable} return render(request, "my_app/my_template.html", context ) pour vérifier dans le template si la variable est vide on peut procéder comme suit: {% if my_variable %} do something {% else %} do something else {% endif %} ### Références Liens | Site ------------

Comment mettre un lien en forme de bouton avec bootstrap

Pour avoir un simple lien qui ressemble à un bouton sur bootstrap, on peut utiliser la syntaxe suivante: <a href="" class="btn btn-info">link</a> [image:link-button-like size:100 caption:Comment mettre un lien en forme de bouton avec bootstrap ] illustration <!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http

Comment sous django filtrer une requête avec une condition de non égalité

Avec django, pour filtrer une requête avec une condition de non égalité, sur la base de données dans un view.py fichier, il faut utiliser la fonction [exclude](https://docs.djangoproject.com/en/2.0/ref/models/querysets/#django.db.models.query.QuerySet.exclude), exemple: note_list = note.objects.exclude( year = 2008 ) et pas: note_list = note.objects.filter( year != 2008 ) sinon on peut obtenir le message d'erreur suivant: [Python- positional argument follows keyword argument](https:/

Obtenir la date d'aujourd'hui au format YYYY-MM-DD avec python

Pour obtenir la date d'aujourd'hui au format YYYY-MM-DD avec python, on peut utiliser la fonction [strftime](http://strftime.org/), exemple: >>> import datetime >>> datetime.datetime.today() datetime.datetime(2018, 2, 13, 22, 25, 0, 693541) >>> datetime.datetime.today().strftime('%Y-%m-%d') '2018-02-13' >>> ### Références Liens | Site ------------- | ------------- [Getting today's date in YYYY-MM-DD in Python?](https://stackoverflow.com/questions/32490629/getting-to

Vérifier si une chaîne de caractères peut être convertie en entier sous python

Pour vérifier si une chaîne de caractères peut être convertie en entier sous python, on peut par exemple passer par la méthode [isdigit()](https://www.tutorialspoint.com/python/string_isdigit.htm), illustration: >>> s = '17' >>> type(s) <class 'str'> >>> s.isdigit() True >>> if s.isdigit(): ... s = int(s) ... >>> type(s) <class 'int'> autre exemple >>> s = 'abc' >>> type(s) <class 'str'> >>> s.isdigit() False ### Références L

Obtenir la date et l'heure courante avec python

Pour obtenir la date et l'heure sous python il y a le module [datetime](https://docs.python.org/2/library/datetime.html): >>> import datetime Pour avoir la date et l'heure courante il faut utiliser la méthode now(): >>> date = datetime.datetime.now() >>> str(date) '2016-11-19 09:38:51.754029' l'année >>> date.year 2016 le mois >>> date.month 11 le jour >>> date.day 19 l'heure >>> date.hour 9 les minutes >>> date.minute 38 les

Retrouver l'adresse url de la page web visitée précédemment avec django ?

Note: Si l'objectif est de retrouver l'adresse url de la page web visitée précédemment pour mettre en place un lien pour revenir en arrière, on peut tout simplement utiliser javascript dans le template ***html*** (voir l'[article](/Articles/Comment-créer-un-lien-pour-revenir-à-la-page-web-précédente/) précédent) comme ceci: <a href="javascript:history.go(-1)">Retour</a> On peut aussi récupérer l'adresse url de la page précédemment visitée directement dans ***views.py*** avec la commande

Comment créer un lien pour revenir à la page web précédente

Pour récupérer l'adresse url précédemment vue par un visiteur on peut utiliser javascript comme ceci (voir aussi [History back() Method](https://www.w3schools.com/jsref/met_his_back.asp)): javascript:history.go(-1) connaissant cette adresse, on peut alors facilement implementer un lien (go back button) pour revenir à la page précédente: <a href="javascript:history.go(-1)">Retour</a> ### Références Liens | Site ------------- | ------------- [How to Create a Website Back Button](htt

Trouver les clés d'un dictionnaire associées à une valeur donnée sous python

Cas 1: la valeur est associée à une seule clé. Dans ce cas on peut faire comme dans cet exemple ([source](https://stackoverflow.com/questions/8023306/get-key-by-value-in-dictionary)), on cherche ici la clé du dictionnaire associée à la valeur 1: >>> mydict = {'a':4,'b':2,'c':5,'d':3,'e':1,'f':5} >>> print(list(mydict.keys())[list(mydict.values()).index(1)]) e Cependant cette approche donne uniquement un résultat si la valeur est associée a plusieurs clé (exemple avec 5): >>>

Extraire une liste d'éléments à partir d'une liste d'indices sous python

Avec python, pour obtenir un élément d'une liste, on peut procéder comme suit: >>> l = ['a','b','c','d','e','f'] >>> l[2] 'c' Maintenant si on veut extraire plusieurs elements à partir d'une liste d'indices, on peut passer par [itemgetter](https://docs.python.org/2/library/operator.html#operator.itemgetter): >>> from operator import itemgetter >>> l = ['a','b','c','d','e','f'] >>> i = [2,3,5] >>> itemgetter(*i)(l) ('c', 'd', 'f') ### Références Liens | Sit

Trouver tous les indices d'un élément donné dans une liste sous python

Soit [4, 2, 3, 3, 1, 1] une liste sous python et on veut trouver tous les indices correspondant à la valeur 3. Cependant dans cette liste il existe plusieurs fois la valeur 3. Pour trouver tous les indices associés à cette valeur, on peut alors par exemple utiliser les "[List Comprehensions](http://www.secnetix.de/olli/Python/list_comprehensions.hawk)" avec [enumerate](http://book.pythontips.com/en/latest/enumerate.html), illustration: >>> mylist = [4, 2, 3, 3, 1, 1] >>> [idx for idx,e

Comment mettre en place un simple reCaptcha avec django

L'objectif d'un captcha est de discriminer un visiteur humain d'un robot en mettant en place un test, simple à réaliser pour un humain mais relativement difficile pour une machine. Il existe plusieurs types de captcha, ici on va voir un simple exemple basé sur [reCaptcha](https://www.google.com/recaptcha/intro/android.html) de google. Le guide en anglais [suivant](https://simpleisbetterthancomplex.com/tutorial/2017/02/21/how-to-add-recaptcha-to-django-site.html) est assez complet. La seule dif

Supprimer les éléments d'une liste au dessus d'une valeur donnée sous python

Soit l1 une liste de nombres entiers: >>> import random >>> l1 = random.sample(range(1, 100), 20) >>> print(l1) [21, 78, 35, 53, 45, 96, 65, 68, 12, 89, 66, 67, 42, 37, 17, 18, 22, 28, 80, 90] si on veut supprimer les éléments de la liste dont les valeurs sont plus grande que 50 on peut utiliser les "List Comprehensions" de python en ajoutant une condition, illustration: >>> l2 = [i for i in l1 if i < 50] >>> print(l2) [21, 35, 45, 12, 42, 37, 17, 18, 22, 28] ###

Comment stopper une commande lancée avec subprocess sous python ?

Pour stopper une commande lancée avec subprocess sous python on peut utiliser le module [time](https://docs.python.org/2/library/time.html), exemple stopper un script python après 5 secondes: import subprocess import time command = 'python my_script.py' process = subprocess.Popen(command, shell=True) time.sleep(5) process.terminate() autre exemple avec la commande unix find: import subprocess import time command = 'find ./foo -perm 777' process = subprocess.Popen(command, shell=

Lancer une commande sur une serveur distant avec ssh et pexpect de python

Exemple de code sur comment créer un tunnel ssh et lancer des commandes sur une serveur distant en utilisant [pexpect](https://github.com/pexpect/pexpect/blob/master/doc/overview.rst) de python: import pexpect host = "toto@machine_b.fr" child = pexpect.spawn('ssh toto@machine_b.fr') print('----- password ------') child.expect("password:") child.sendline('my_password') child.expect ('[#\$] ') print('----- command 1 ------') child.sendline('ls -l') child.expect ('[#\$] ') print(c

Comment convertir des octets (bytes) en chaîne de caractères (string) sous python

Simple exemple de comment convertir des octets (bytes) en chaîne de caractères (string) sous python en utilisant la fonction decode("utf-8"): >>> l = b'hello world' >>> l b'hello world' >>> type(l) <class 'bytes'> >>> s = l.decode("utf-8") >>> type(s) <class 'str'> >>> s 'hello world' Peut être utile par exemple avec un tunnel ssh et pexpect qui retourne des résultats de type "bytes" ([voir](/Articles/Lancer-une-commande-sur-une-serveur-distant-avec-ssh