Je suis sur mon premier programme en Python. Le but du programme est de
récupérer / redéposer des fichiers sur un dépôt en FTP, du code source
à priori, un parfum de CVS mais simplissime, à usage d'une personne
seule ou d'une équipe extrêmement réduite. Il s'agit de partager du
code source entre des projets différents sur diverses plate-formes.
Et justement j'ai un petit souci cosmétique lié à un comportement
différent entre Windows et Linux/Unix. Dans une boucle de scan du site
distant, je place des:
if self.options.verbose > 0 : print '.',
pour éviter en ligne de commandes l'impression de plantage, pour que ça
gigote un peu. Ça fonctionne exactement conformément à mes attentes
sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de
points qu'en fin de scan, donc effet nul. J'ai essayé
sys.stdout.write(), le problème est le même. J'admets que c'était
prévisible. J'ai regardé curses, ça me paraît trop contraignant (y
compris en apprentissage) pour un simple détail.
En enlevant la virgule, ça gigote, mais à un point par ligne, ça
scrolle ma console, je ne le souhaite pas.
Sachant que je ne tiens pas particulièrement à la ligne de points, que
je veux simplement que ça remue sans scroller de 50 lignes, que par
exemple une moulinette sur la séquence '/-\|' serait parfaite, quelle
solution simple j'ai loupé ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Damien Wyart
* Pierre Maurette in fr.comp.lang.python:
Et justement j'ai un petit souci cosmétique lié à un comportement différent entre Windows et Linux/Unix. Dans une boucle de scan du site distant, je place des: if self.options.verbose > 0 : print '.', pour éviter en ligne de commandes l'impression de plantage, pour que ça gigote un peu. Ça fonctionne exactement conformément à mes attentes sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de points qu'en fin de scan, donc effet nul. J'ai essayé sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
-- DW
* Pierre Maurette <maurettepierre@wanadoo.fr> in fr.comp.lang.python:
Et justement j'ai un petit souci cosmétique lié à un comportement
différent entre Windows et Linux/Unix. Dans une boucle de scan du site
distant, je place des:
if self.options.verbose > 0 : print '.',
pour éviter en ligne de commandes l'impression de plantage, pour que
ça gigote un peu. Ça fonctionne exactement conformément à mes attentes
sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de
points qu'en fin de scan, donc effet nul. J'ai essayé
sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait
résoudre le problème.
Et justement j'ai un petit souci cosmétique lié à un comportement différent entre Windows et Linux/Unix. Dans une boucle de scan du site distant, je place des: if self.options.verbose > 0 : print '.', pour éviter en ligne de commandes l'impression de plantage, pour que ça gigote un peu. Ça fonctionne exactement conformément à mes attentes sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de points qu'en fin de scan, donc effet nul. J'ai essayé sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
-- DW
Pierre Maurette
* Pierre Maurette in fr.comp.lang.python:
Et justement j'ai un petit souci cosmétique lié à un comportement différent entre Windows et Linux/Unix. Dans une boucle de scan du site distant, je place des: if self.options.verbose > 0 : print '.', pour éviter en ligne de commandes l'impression de plantage, pour que ça gigote un peu. Ça fonctionne exactement conformément à mes attentes sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de points qu'en fin de scan, donc effet nul. J'ai essayé sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un sys.stdout.write. Il me semble que j'avais cherché dans la doc dans ce sens, je connais le fflush() du C. J'avais dû passer à coté.
-- Pierre Maurette
* Pierre Maurette <maurettepierre@wanadoo.fr> in fr.comp.lang.python:
Et justement j'ai un petit souci cosmétique lié à un comportement
différent entre Windows et Linux/Unix. Dans une boucle de scan du site
distant, je place des:
if self.options.verbose > 0 : print '.',
pour éviter en ligne de commandes l'impression de plantage, pour que
ça gigote un peu. Ça fonctionne exactement conformément à mes attentes
sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de
points qu'en fin de scan, donc effet nul. J'ai essayé
sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait
résoudre le problème.
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un
sys.stdout.write. Il me semble que j'avais cherché dans la doc dans ce
sens, je connais le fflush() du C. J'avais dû passer à coté.
Et justement j'ai un petit souci cosmétique lié à un comportement différent entre Windows et Linux/Unix. Dans une boucle de scan du site distant, je place des: if self.options.verbose > 0 : print '.', pour éviter en ligne de commandes l'impression de plantage, pour que ça gigote un peu. Ça fonctionne exactement conformément à mes attentes sous XP. Mais sous Linux, très logiquement, ça ne sort la ligne de points qu'en fin de scan, donc effet nul. J'ai essayé sys.stdout.write(), le problème est le même.
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un sys.stdout.write. Il me semble que j'avais cherché dans la doc dans ce sens, je connais le fflush() du C. J'avais dû passer à coté.
-- Pierre Maurette
Damien Wyart
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
* Pierre Maurette in fr.comp.lang.python:
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un sys.stdout.write.
Oui, print travaille en interne sur stdout, il fait juste quelques traitements supplémentaires par rapport à un appel direct de write sur stdout.
-- DW
Appeler la fonction sys.stdout.flush après chaque affichage devrait
résoudre le problème.
* Pierre Maurette <maurettepierre@wanadoo.fr> in fr.comp.lang.python:
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un
sys.stdout.write.
Oui, print travaille en interne sur stdout, il fait juste quelques
traitements supplémentaires par rapport à un appel direct de write sur
stdout.
Appeler la fonction sys.stdout.flush après chaque affichage devrait résoudre le problème.
* Pierre Maurette in fr.comp.lang.python:
Merci ! Bien entendu, ça fonctionne. Tant après un print qu'après un sys.stdout.write.
Oui, print travaille en interne sur stdout, il fait juste quelques traitements supplémentaires par rapport à un appel direct de write sur stdout.
-- DW
jean-michel bain-cornu
Bonjour,
Je suis sur mon premier programme en Python. Le but du programme est de récupérer / redéposer des fichiers sur un dépôt en FTP, du code source à priori, un parfum de CVS mais simplissime, à usage d'une personne seule ou d'une équipe extrêmement réduite. Il s'agit de partager du code source entre des projets différents sur diverses plate-formes. Par curiosité, as-tu regardé subversion ?
C'est exactement ce que ça fait, c'est plus facile à utiliser que CVS, et ça se manipule très bien en python. Mais peut-être n'as-tu pas accès à ton serveur ?
Bonjour,
Je suis sur mon premier programme en Python. Le but du programme est de
récupérer / redéposer des fichiers sur un dépôt en FTP, du code source à
priori, un parfum de CVS mais simplissime, à usage d'une personne seule
ou d'une équipe extrêmement réduite. Il s'agit de partager du code
source entre des projets différents sur diverses plate-formes.
Par curiosité, as-tu regardé subversion ?
C'est exactement ce que ça fait, c'est plus facile à utiliser que CVS,
et ça se manipule très bien en python.
Mais peut-être n'as-tu pas accès à ton serveur ?
Je suis sur mon premier programme en Python. Le but du programme est de récupérer / redéposer des fichiers sur un dépôt en FTP, du code source à priori, un parfum de CVS mais simplissime, à usage d'une personne seule ou d'une équipe extrêmement réduite. Il s'agit de partager du code source entre des projets différents sur diverses plate-formes. Par curiosité, as-tu regardé subversion ?
C'est exactement ce que ça fait, c'est plus facile à utiliser que CVS, et ça se manipule très bien en python. Mais peut-être n'as-tu pas accès à ton serveur ?
jean-michel bain-cornu
Mais peut-être n'as-tu pas accès à ton serveur ? Je veux dire pour installer/administrer subversion.
Mais peut-être n'as-tu pas accès à ton serveur ?
Je veux dire pour installer/administrer subversion.