Forum Programmation.python écrire la sortie d'un générateur

Posté par . Licence CC by-sa
3
30
juin
2013

Salut !

j'ai un générateur "gen" qui me génère des caractères (type str), je souhaite écrire ce qui est généré dans un fichier.
Je vois deux solutions évidentes pour ça :

# solution 1
for c in gen():
    f.write(c)

# solution 2
out = ''.join(gen())
f.write(out)

(merci de ne pas tenir compte du nom des variables :p)

avantage de la solution 1 : si le (...)

Journal RasPyPlayer v2.2.0 est sorti !

10
17
avr.
2013
Ce journal a été promu en dépêche : RasPyPlayer v2.2.0 est sorti !.

Il y a un peu plus d'un mois je vous annonçais la sortie de la version v2.0 de RasPyPlayer[1]… Une version mineure plus tard et quelques cassages de tête plus tard, j'ai le plaisir de vous présenter la nouvelle mouture du média center léger spécialement conçu pour le Raspberry Pi (mais pas que) !

Je n'ai pas annoncé ici la version 2.1.0 car je la considérais mineure dans le sens où elle n'était qu'une étape préliminaire à cette nouvelle version.

Alors

(...)

Journal Un petit script pour sauvegarder rapidement un fichier

Posté par (page perso) . Licence CC by-sa
5
23
mar.
2013

Quand je développe, il m'arrive régulièrement d'avoir sous la main des fichiers que je ne veux pas perdre dans l'immédiat, sans pour autant vouloir les ajouter dans mon logiciel de contrôle de versions. De même, il m'arrive de vouloir temporairement garder une image d'un fichier (avant de tester quelque chose, par exemple), sans pour autant vouloir créer un commit.

Bref, je souhaite pouvoir sauvegarder temporairement un fichier sans effort.

Pour répondre à ce besoin, j'ai créé le petit script suivant (...)

Forum Programmation.python Besoin d'avis sur algo Python

Posté par . Licence CC by-sa
Tags :
2
20
mar.
2013

J'écris beaucoup de petits programmes en Python mais le code produit n'est pas très propre / efficace. Par exemple, sur ce petit programme, j'aimerais avoir vos avis sur la manière de l'optimiser et de rendre le code plus propre.

#!/usr/bin/env python3
# rot13.py - ROT13 encoder/decoder written in Python.

from sys import argv
from os.path import basename

def rot13(txt):

    """Encoder / décoder la chaine txt."""

    A2Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    MAX = len(A2Z)
    MOY = MAX
(...)

Journal RasPyPlayer v2.0 est sorti !

Posté par . Licence CC by-sa
12
4
mar.
2013
Ce journal a été promu en dépêche : RasPyPlayer v2.0 est sorti !.

Quelques mois après la sortie de la version v1.1[1] j'ai le plaisir de vous annoncer la nouvelle mouture de RasPyPlayer !

Cette nouvelle version consiste en une ré-écriture complète pour mieux utiliser la méthodologie objet afin de faciliter la maintenance du code et les évolutions (et parce qu'on ne code que très rarement bien au premier essai). D'autres évolutions sont au menu : la gestion des sous-titres externes (les fameux fichiers .srt) et une fenêtre « Configuration » pour régler les paramètres (...)

Journal Exposer un ou des modules Python sur D-Bus [proof of concept]

41
2
mar.
2013

Sommaire

Réfléchissant au moyen d'utiliser un module python2 dans mon projet python3 (le module pyalsa en fait), m'est venue l'idée saugrenue de lister toutes les méthodes et des les exposer avec D-Bus, afin d'y avoir accès depuis Python 3, ou n'importe quoi qui cause avec D-Bus. Ce n'est certainement pas la solution que je vais (...)

pyxshell : piper des flux de texte en pur Python

Posté par (page perso) . Édité par Davy Defaud, Xavier Claude, Nÿco, Benoît Sibaud et Xavier Teyssier. Modéré par Xavier Claude. Licence CC by-sa
33
16
jan.
2013
Python

pyxshell (à prononcer comme vous pouvez) est un module Python qui permet d’enchaîner des fonctions de traitement de flux avec un opérateur « tube » — pipe, en anglais — (|) , de la même manière qu’avec un shell.

Si — comme moi — vous devez régulièrement analyser à la main des données textuelles diversement structurées sous différents environnements. Si vous affectionnez la ligne de commande sans raffoler de la syntaxe de Bash, vous apprécierez d’avoir tout sous la main à côté de vos outils Python favoris.

Par exemple :

>>> out=[]
>>> (random.randint(0,2) for i in range(10)) | map(lambda x: ["Oui ","nous sommes ","tous différents "][x]) | sort | uniq | tee(sys.stdout) > out
Oui tous différents nous sommes
>>> print(out)
['Oui ', 'tous différents ', 'nous sommes ']

Forum Programmation.python Optimisation programme

Posté par . Licence CC by-sa
0
7
jan.
2013

Bonsoir à tous,

Dans le cadre de l'optimisation de RasPyPlayer j'aurais besoin d'un peu d'aide. Je cherche des moyens pour accélérer la recherche les fichiers vidéos. Si vous avez des pistes je suis preneur !

Le code actuel :

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#-------------------------------------------------------------------------#
# MediaScanner.py - Movies scanner for RasPyPlayer
#-------------------------------------------------------------------------#
VERSION = "1.0-devel"
#-------------------------------------------------------------------------#
# Auteur : Julien Pecqueur (JPEC)
# Email : jpec@julienpecqueur.net
# Site : http://raspyplayer.org
# Sources : https://github.com/jpec/RasPyPlayer
# Bugs : https://github.com/jpec/RasPyPlayer/issues
(...)

RasPyPlayer V1.0 est sorti !

Posté par . Édité par Pierre Jarillon et Xavier Claude. Modéré par Pierre Jarillon. Licence CC by-sa
34
27
déc.
2012
Audiovisuel

RasPyPlayer est un lecteur de vidéos simple et léger pour le mini ordinateur Raspberry Pi.
Après plusieurs mois de gestation, j'ai le plaisir de vous annoncer la sortie de RasPyPlayer dans sa première version stable ! Le paquet pour Raspbian est disponible sur le site officiel.

Logo raspyplayer

Journal Django 1.5 beta

Posté par (page perso) . Licence CC by-sa
Tags :
23
28
nov.
2012

Dans l'un des journaux précédents, on nous compte une soirée de déboire avec Wordpress avant de faire une avalanche de louange pour django.
http://linuxfr.org/users/booga/journaux/code-facetieux-dans-piwik-1-9-2

Une information vient pourtant de paraitre, Django passe de manière expérimental en version 1.5. Nullement intéressant n'est-ce pas ?

Pour autant, cette pré-version apporte une surprise de taille. Python 3 est supporté de manière expérimentale. Bon nombre d'utilisateur de python 3 rechignait à passer sous django pour faire du web et bon nombre d'utilisateur de de python (...)

Sortie de Tryton 2.6

25
25
oct.
2012
Python

Avec la régularité d’une horloge suisse, la version automnale de Tryton est arrivée. Tryton est une plate‐forme de développement d’applications pour entreprise (progiciel de gestion intégré — PGI —, ERP en anglais) écrit en Python et sous licence GPL v3. Actuellement, les principaux modules disponibles de Tryton couvrent les champs d’activité suivants : comptabilité, facturier, gestion des ventes, gestion des achats, comptabilité analytique, gestion de stock et de production.

Logo Tryton

L’évolution la plus importante est le passage à l’active record (patron de conception) qui était en préparation depuis plus de 2 ans. L’interface graphique n’est pas en reste, avec l’ajout du copier‐coller depuis un tableur. Comme d’habitude, la migration depuis les versions précédentes est prise en charge.

Forum Programmation.python Un mémento Python

Posté par (page perso) .
15
30
mai
2012

Salut,

juste un post pour signaler un Mémento Python 3 (A4 recto/verso), destiné à des étudiants (il y a des notes/remarques par rapport à des erreurs que l'on voit régulièrement en TP) et qui peut être repris/adapté librement:

http://perso.limsi.fr/pointal/python:memento

Il y a les éléments de base pour programmer des algos en Python (types, variables, expressions, fonctions, entrées/sorties), et ça ne traite pas de la programmation objet.

PS. il y a toujours l'Abrégé Dense Python 3.1 si vous recherchez quelque (...)

Journal Fork de python-mpd

Posté par (page perso) . Licence CC by-sa
9
20
mar.
2012

Le module python-mpd [0] permet de développer rapidement des clients pour le lecteur audio Music Player Daemon (acronyme MPD).

Son développement était dormant depuis fin 2010 (date de la dernière publication).
Il commençait à manquer certaines commandes apparues depuis dans MPD et surtout un portage sur python3.

Après les tentatives [1] de quelques contributeurs de soumettre des correctifs, l'un d'entre eux a finit par officialiser un fork : python-mpd2 [2].

Notons cependant que le développeur de python-mpd n'a pas abandonnée son (...)

Sortie de blender 2.57

Posté par . Modéré par tuiu pol. Licence CC by-sa
56
14
avr.
2011
Graphisme/photo

La fondation blender vient de sortir la première version stable de la série 2.5X de son logiciel phare. Il s'agit de la 2.57, faisant suite aux betas 2.54, 2.55 et 2.56.

Ceux qui avaient connus blender sous la série 2.4x risquent d'être surpris s'ils n'avaient pas essayé l'une des betas jusqu'alors. En effet, il y a de nombreux changements, en particulier pour ce qui concerne l'interface, qui a été revue de A à Z.

En fait, la série 2.5 est quasiment une refonte complète du logiciel. Par exemple, l'interface de programmation Python (utilisant désormais Python 3) a été complètement repensée.

Entre la première version 2.5x beta et cette version 2.57, la fondation indique que plus d'un millier de bugs ont été corrigés.

Python 3.2

Posté par (page perso) . Modéré par Lucas Bonnet.
87
21
fév.
2011
Python

Un an et sept mois après Python 3.1, voici une nouvelle version majeure de Python 3 : la version 3.2. Elle apporte notamment deux nouveaux modules (argparse et concurrent.futures), des améliorations sur les extensions écrites en C (API stable et marquage dans le nom de fichier des bibliothèques) et les modules compilés (fichiers .pyc) sont désormais rangés dans un dossier « __pycache__ ». Pour rappel, Python 3 corrige les erreurs de jeunesse de Python et harmonise la bibliothèque standard (relire la dépêche annonçant Python 3.0).

Pour faciliter le travail des développeurs des autres implémentations de Python (IronPython, Jython, Unladen Swallow, PyPy), la syntaxe, la sémantique et les fonctions builtins n'ont pas changé dans version 3.2, comme décidé par le moratoire (PEP 3003: Python Language Moratorium). Le moratoire prend fin avec la publication de Python 3.2.

La seconde partie de la dépêche présente en détail les nouveautés de Python 3.2, l'état du portage des modules vers Python 3, et évoque ce qui est prévu pour la suite.