O’Reilly propose un humble bundle Python : vous donnez ce que vous voulez (à partir de 1 $) pour un bundle d’ouvrages O’Reilly qui vaut jusqu’à 524 $ (selon le montant payé), sans DRM et en multi-format (souvent ePub et PDF) !
Voici comment mettre en place un logger de base en Python, dans le fichier init.py par exemple :
Voici un bout de code qui inverse un dictionnaire et illustre bien l’incroyable expressivité du langage Python :
Suite à des déboires avec Disqus, je me suis mis en quête d’une alternative et je suis tombé sur Isso. Cet article détaille son installation sur une Debian.
En cas de problème dans une application Python (boucle infinie ou blocage par exemple), il peut être utile d’afficher la trace de tous les threads en cours d’exécution.
Pour valider automatiquement avec Pylint les sources Python modifiés à chaque commit, il suffit d’ajouter un hook Git.
Il peut être parfois utile de lancer un script Python et de l’interrompre en cours d’exécution dans un shell intéractif. C’est le cas par exemple pour déboguer un script et tester intéractivement du code.
Sur Github: https://github.com/c4s4/build
Ce projet contient mes build files parent pour NeON.
Sur Github: https://github.com/c4s4/cheeseshop
CheeseShop est un repository de packages Python, soit une version locale du célèbre http://pypi.python.org. Ceci est utile pour les utilisateurs en entreprise qui ont besoin de partager des bibliothèques Python privées entre développeurs.
Sur Github: https://github.com/c4s4/db_migration
Cet outil permet de gérer les migrations d’une base de données. On doit écrire
les scripts de migration et les disposer dans des répertoires par version et par
plate-forme. Par exemple, pour migrer la PRP vers la version 1.2.3, on placera
le script dans le fichier 1.2.3/prp.sql
.
Sur Github: https://github.com/c4s4/sqlplus_command
L’installation d’un pilote Oracle sur une machine est parfois pénible, voire impossible. En outre, vous pouvez souhaiter distribuer des scripts autonomes qui accèdent à Oracle sans avoir à installer de logiciel supplémentaire. Enfin, vous pouvez vouloir automatiser les scripts qui doivent être lancés avec SQL*Plus.
Par défaut, Python compare les objets par leur adresse mémoire. Autrement dit, deux objets sont considérés comme égaux s’ils sont les mêmes. Souvent, on considère que deux objets sont égaux si tous leurs champs le sont.
This article is an introduction to YAML, a language to write structured data, as XML would for example, but in a more natural and less verbose way. We will see a description of the YAML syntax as well as examples in Java, Python and Go.
Grumpy est un projet Google qui permet de compiler des sources Python en Go. Si je ne m’attends pas à des miracles de performances, je crois que c’est une piste intéressante pour faciliter la distribution de scripts Python car il n’est plus nécessaire d’installer une VM…
Voici une fonction qui permet de contourner l’absence de méthode total_seconds() sur la classe datetime.timedelta en Python 2.6 ou antérieur :
J’ai eu aujourd’hui à générer un document Mardown qui comportait des tableaux. Voici le code qui génère le tableau au format Markdown à partir d’une liste des en-têtes de colonnes et d’une liste de lignes :
Entendu dans l’excellent podcast Talk Python to Me :
Un moyen d'augmenter la couverture
de test est de détruire du code.
Voici le code en Python pour construire une liste des IDs de factures dont le titre contient Training, triée par ordre décroissant de montant :
Sur Github: https://github.com/c4s4/pythenv
Pythenv exécute un script Python dans un environnement virtuel temporaire, créé à la volée dans le répertoire /tmp, puis détruit après usage.
Il est plus élégant d’accéder aux valeurs d’un dictionnaire comme si l’on avait affaire à des champs plutôt qu’avec la notation du type tableau. Nous allons voir comment c’est possible en Python.
Babel est une boîte à outils permettant de gérer vos langages de programmation favoris.
Sur de vieux serveurs où l’on ne peut plus installer de packages (c’est du vécu, pas plus tard qu’hier) ou si l’on souhaite limiter le nombre de bibliothèques Python à installer, on peut parser simplement du JSON avec le bout de code suivant :
Il est souvent pratique de n’autoriser l’accès à une méthode d’une vue Django qu’aux seuls super utilisateurs. Pour ce faire, on pourra utiliser le décorateur suivant :
J’ai eu aujourd’hui besoin de réaliser des requêtes HTTP en Python en contrôlant finement tous les paramètres de la requête (URL bien sûr, mais aussi la méthode, les en-têtes et le corps) et les valeurs de retour (le statut, le message, le corps et les en-têtes). N’ayant rien trouvé répondant à mon besoin, j’ai dû développer ma propre fonction qui pourrait se rendre utile à l’occasion :
Par défaut Netbeans affiche les fichiers .pyc dans l’explorateur de projets. C’est assez énervant et voici comment ignorer ces fichiers :
Cet article est une introduction à YAML, un langage permettant de représenter des données structurées, comme le ferait XML par exemple, mais de manière plus naturelle et moins verbeuse. On y verra une description de la syntaxe de YAML ainsi que des exemples en Java, Python et Go.
La PyCon France 2008, rencontres autour du langage de programmation Python, se déroule en ce moment même à la Cité des Sciences et de l’Industrie à Paris.
Après le scripts de téléchargement de 20 Minutes et Metro, voici une version pour récupérer automatiquement la version PDF de Bordeaux7. Ce script fonctionne sous Linux et MacOSX.
Après le script de téléchargement de 20 Minutes, voici une version pour récupérer automatiquement la version PDF de Metro. Ce script fonctionne sous Linux et MacOSX.
Voici une amélioration de mon script de téléchargement automatique du quotidien 20 Minutes en version PDF sur votre bureau. Cette nouvelle version fonctionne sous Linux et MacOSX et ne dépend plus de curl.
Voici un petit hack pour automatiser le téléchargement, tous les matins, de l’édition PDF de 20 minutes.
Je viens de découvrir un easter egg dans l’interpréteur Python en ligne de commande (lancé lorsqu’on tape python dans un terminal). Taper import this. C’est probablement vieux comme Python, mais je trouve cela très drôle (et utile accessoirement).
Cet article est une traduction de l’article Writing MySQL Scripts with Python DB-API en version 1.02 (du 2006-09-17), par Paul DuBois (paul@kitebird.com), traduction de Michel Casabianca (michel.casabianca@gmail.com).