background preloader

(Très) Grand listing des libs tierce partie les plus utiles en Python

(Très) Grand listing des libs tierce partie les plus utiles en Python

Python and Microsoft Office – Using PyWin32 Most typical users have used Microsoft Office. While Office may be the bane of tech support, we still have to deal with it. Python can be used to script (AKA automate) Office and make it easier for us or our users to use. It may not be as easy as recording a macro, but it’s close. For this article, you will learn how to use the PyWin32 module to access some of the Office programs and manipulate them with Python. Some forums say that you need to run PythonWin’s makepy utility on Microsoft Word (and Excel) before you can access Office applications. Python and Microsoft Excel If you’ve looked for examples of using Python and Office, you’ll usually find that the most often hacked component is Excel. Let’s take a look at a simple example, shall we? The example above is similar to what you will normally find on the web. To set a specific cell’s value, call something like this: sh.Cells(row,col).Value = “some value”. formula = sh.Cells(row, col).Formula sheet2 = ss.Sheets("Sheet2")

Construire une interface graphique pas à pas en Python avec Tkinter et wxPython Ce texte est la traduction française de Dans cette page, vous allez apprendre à constuire une interface graphique pas à pas en Python. Le but est: De maîtriser les techniques de base des interfaces graphiques (mise en place des widgets, contraintes, gestion des évènements...)De comprendre la moindre méthode et paramètre utilisé ici.De voir deux toolkits majeurs et de comprendre leurs différences.De servir de base pour construire vos propres applications graphiques. Vous apprendrez:à créer une classe "application graphique",à créer des widgets (éléments d'interface graphiques),à les placer dans des conteneurs,à attacher des méthodes à certains évènements,à manipuler les valeurs des widgets,etc. Ces deux tookits graphiques sont portables: Cela signifie que - si bien conçues - vos interfaces fonctionneront sur tous les systèmes (Windows, Linux, MacOS X...). Table des matières Notre projet Le code Tkinter est dans cette couleur, à gauche. #! Hé ! Ainsi:

Les articles pour apprendre Python, dans le bon ordre :-) Ceci n’est pas un cours complet et cohérent sur “apprendre à programmer avec Python”. Pour ça voyez plutôt le site du zéro ou le livre gratuit de Swinnen. Ceci est une compilation de tous les cours et tutos du blog, filtrés, et ordonnés de manière cohérente. C’est bordélique, y a des trous partout, mais il y a aussi des connaissances que vous ne trouverez nulle part ailleurs aussi bien expliquées qu’ici. Ce qu’il faut savoir Aller plus loin Les outils autour de Python Cookbook Les exercices Passage à Python 3 Culture générale autour de Python

tinydb/README.rst at master · msiemens/tinydb Invent Your Own Computer Games with Python - Chapters Chapter 1 Read online: Chapter 1 - Installing Python Videos: Chapter 2 Read online: Chapter 2 - The Interactive Shell Chapter 3 Read online: Chapter 3 - Strings Download source: hello.py Copy source to clipboard: Use the online diff tool to find typos in your code: hello.py Chapter 4 Read online: Chapter 4 - Guess the Number Download source: guess.py Use the online diff tool to find typos in your code: guess.py Chapter 5 Read online: Chapter 5 - Jokes Download source: jokes.py Use the online diff tool to find typos in your code: jokes.py Chapter 6 Read online: Chapter 6 - Dragon Realm Download source: dragon.py Use the online diff tool to find typos in your code: dragon.py Chapter 7 Read online: Chapter 7 - Using the Debugger Chapter 8 Read online: Chapter 8 - Flow Charts Chapter 9 Read online: Chapter 9 - Hangman Download source: hangman.py Use the online diff tool to find typos in your code: hangman.py Chapter 10 Read online: Chapter 10 - Tic Tac Toe Download source: tictactoe.py Chapter 11 Download source: bagels.py

State machine en Python en l’absence d’algos récursifs bénéficiant de tail call optimisation Ca c’est un titre qui en jette ! Faut dire que je tiens du maître Sokal himself. Donc, vulgarisons un peu. Ca sera un article bien prise de tête. Un appel récursif, c’est une fonction qui s’appelle elle-même. def fonction_recursive(): print "Je suis récursive, fuck yeah !" Et sa sortie va ressembler à ça: >>> fonction_recursive() Je suis récursive, fuck yeah ! Un peu comme une boucle infinie: while True: print "Je suis récursive, fuck yeah !" Car la fonction s’appelle elle même indéfiniement. Les boucles infinies peuvent être utiles, mais en Python, les récursions infinies sont vachement craignos, parcequ’elles aboutissent toujours à ce message d’erreur: RuntimeError: maximum recursion depth exceeded En effet, une boucle infinie est une sucession d’opération les une après les autres, mais une récursion infinie est une succession d’opérations les unes dans les autres. Du coup, en Python, quand on fait du récursif, on est obligé de faire une condition de sortie, du genre: No related posts.

Sept petites libs qui changent la vie d’un dev Python Toutes ces libs sont, bien entendu, installables avec pip. begins optparse est deprecated, argparse est imbuvable et sys.argv limité. Avant de vous tirer une balle dans la tête au moment de parser les arguments passés à votre script : Et voilà, définir des paramètres est aussi simple qu’écrire une fonction : Votre programme accepte maintenant --argument-obligatoire et --argument-optionnel qui seront automatiquement passés à la fonction. $ python script.py --help usage: script.py [-h] [--argument-optionnel ARGUMENT_OPTIONNEL] ARGUMENT_OBLIGATOIRE La docstring est transformée en message d'usage. positional arguments: ARGUMENT_OBLIGATOIRE optional arguments: -h, --help show this help message and exit --argument-optionnel ARGUMENT_OPTIONNEL, -a ARGUMENT_OPTIONNEL (default: valeur_par_defaut) On peut faire bien plus avec begins : caster les arguments, créer des subcommandes, etc. arrow Contrairement à Max, j’adore la gestion des dates en Python. pip install arrow Et hop : Ouai. Requests Bottle Peewee

Crossbar, le futur des applications Web Python ? Je suis crossbar.io depuis quelques temps maintenant, et je suis très, très étonné de ne pas plus en entendre parler dans la communauté Python. Bon, en fait, à moitié étonné. D’un côté, c’est une techno qui, à mon sens, représente ce vers quoi Python doit se diriger pour faire copain-copain avec Go/NodeJs et proposer une “killer feature” dans le monde des applications serveurs complexes. De l’autre, hum, leur page d’accueil explique à quoi ça sert de cette manière : Crossbar.io is an application router which implements the Web Application Messaging Protocol (WAMP). WAMP provides asynchronous Remote Procedure Calls and Publish & Subscribe (with WebSocket being one transport option) and allows to connect application components in distributed systems Moui, moui, moui monseigneur, mais concrètement, là, hein, je peux faire quoi avec ? C’est toujours le problème avec les gens intelligents (hein Cortex ?) J’étais persuadé d’avoir mis la musique habituelle… Je la remets : 1 – Du PUB/SUB 2 – Du RPC

FizzBuzz en Python Le FizzBuzz est un type de test qui a été rendu populaire par Imran Ghory et ayant pour but de gagner du temps dans l’embauche de développeurs. Son constat est alarmant : une grande majorité des gens qui venaient aux entretiens pour un poste de programmeur, diplôme / CV / beau discours à l’appui, ne savaient pas… programmer. Il faut dire que c’est tellement facile de trouver un job pour dev. Ayant l’impression de perdre son temps, il a créé des exercices simples, qui sont facilement solvables sans stress par n’importe quel programmeur digne de ce ce nom en quelques minutes. Fais tourner le FizzBuzz Exemple d’un énoncé : Écrire un programme qui affiche les nombres de 1 à 199. Voici ce que ça donne si vous le faites en entretien pour du Python en quelques minutes histoire de pouvoir passer à la suite : for x in xrange(1, 200): fizz = not x % 3 buzz = not x % 5 if fizz and buzz : print "FizzBuzz" elif fizz: print "Fizz" elif buzz: print "Buzz" else: print x S’amuser un peu Et : Mais quand même

DotMobo — TinyDB, la base de données pure python TinyDB, ce n'est pas la base de données qui va tout révolutionner, mais c'est le petit outil sympa à avoir à portée de main. Elle est orientée document, comme MongoDB, en se basant sur des fichiers JSON. Le code est écrit en pure python, sans besoin d'aucune dépendance, et est compatible python 2 et 3. Niveau utilisation, il ne faut pas espérer des perfs de malade ; ce n'est pas fait pour ça. Par contre, si tu as besoin d'une mini BDD pour afficher des news sur un site, ça fera l'affaire. Personnellement, je l'utilise plutôt lors de la rédaction de tests unitaires, lorsque j'ai besoin d'une batterie de données de test. Pour l'utiliser, tu l'installes via pip: Tu crées, par exemple, une base de données contenant des légumes: >>> from tinydb import TinyDB>>> db = TinyDB('meslegumes.json') Le fichier meslegumes.json correspond à ta base de données et s'est créé dans le répertoire courant. Tu crées alors une table legumes. >>> table = db.table('legumes') Ou tous les légumes qui sont plus de deux:

Crossplatform Framework for NUI

Related: