Le retour chariot ne fonctionne pas correctement lors de la redirection de la sortie vers le fichier python

Max Segal

J'ai ce code simple dans lequel chaque itération écrase la sortie de la ligne précédente:

import time
for i in reversed(range (12)):
    print i, '\r',
    time.sleep(0.2)

lorsque j'exécute le script à l'aide de la commande: python test.pyje vois que la sortie se remplace à chaque itération comme prévu. Cependant, lorsque je redirige la sortie vers un fichier à l'aide de la commande:

python test.py >> tmp.txt

J'obtiens un fichier contenant les 12 numéros sur 12 lignes distinctes.

Comment puis-je obtenir le même résultat final dans le fichier de sortie que si j'exécutais le script à partir de la ligne de commande?

J'utilise python 2.6.5 sur Windows 10.

Jean-François Fabre

Vous ne pouvez pas faire cela car la redirection ajoute des données à la fin du fichier.

Ce qui est écrit est écrit.

Edit: MAIS il existe des solutions de contournement.

numéro un: changez votre code python

import time,sys

interactive = sys.stdout.isatty()

for i in reversed(range (12)):
    if i==0 or interactive:
        print i, '\r',
    time.sleep(0.2)

Lorsqu'il est redirigé vers un fichier, il s'imprime uniquement 0. S'il est exécuté sans redirection, il fonctionnera comme avant.

numéro deux: ajouter un filtre

Si vous exécutez Linux ou Windows avec MSYS installé, dirigez simplement la sortie vers une commande telle que cat

python test.py | cat >> tmp.txt

seul 0sera renvoyé au fichier

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Sortie Grep illisible lors de la redirection vers le fichier

Le script ne fonctionne pas correctement lors de la sortie des données

Le retour de la redirection de Flask vers S3 ne télécharge pas le fichier

La redirection ne fonctionne pas correctement lors de la connexion

Le retour à la ligne "\ n" ne fonctionne pas lors de l'écriture d'un fichier .txt Python

le constructeur ne fonctionne pas correctement lors de la lecture des variables à partir du fichier txt

Comment supprimer le retour chariot de la chaîne lors du collage du contenu dans un fichier Excel

La redirection de stdout vers un fichier ne fonctionne pas

Pourquoi diriger la sortie de la commande vers une variable ne fonctionne pas dans le fichier batch

Erreur de lot lors de la redirection vers le fichier

Lors de l'ajout à la fin du XML, le formatOutput ne fonctionne pas mais lors de la première création du fichier, le formatOutput fonctionne correctement

Le bouton ne fonctionne pas correctement lors de la décoloration de la scène

Le tableau de retour PHP de la fonction ne fonctionne pas correctement

La redirection XDK vers le fichier modèle ne fonctionnera pas correctement

La redirection de paiement ne fonctionne pas correctement lorsque l'utilisateur clique sur le bouton Soumettre

La redirection de sortie dans le script shell ne fonctionne pas complètement

le terminal gnome ne dirige pas la sortie vers le fichier script bash correctement

Le composant ne s'affiche pas lors de la redirection vers la même page

La ligne de commande ne s'actualise pas immédiatement après le retour chariot

Comment supprimer correctement le retour chariot en python lors de l'utilisation avec dictwriter (newline = '' n'aide pas)

Le transfert de Microsoft Bot Framework vers la boîte de dialogue ne fonctionne pas correctement

Le dimensionnement de la Flexbox ne fonctionne pas correctement lors de l'utilisation de FontAwesome

Lors du chargement de la page avec Ajax, le bouton de retour ne fonctionne pas

Lors du chargement de la page avec Ajax, le bouton de retour ne fonctionne pas

C - La redirection de awk/sed stdout vers le tube ne fonctionne pas

Le vidage vers le fichier JSON ne fonctionne pas correctement dans la classe / fonction

La sortie du composant enfant vers le composant parent ne fonctionne pas correctement

Le retour dans la fonction ne fonctionne pas correctement

flash [: alert] ne fonctionne pas, mais flash [: notice] affiche le message lors de la redirection

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  3. 3

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  4. 4

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Exporter la table de l'arborescence vers CSV avec mise en forme

  7. 7

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  8. 8

    Créer un système Buzzer à l'aide de python

  9. 9

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  10. 10

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  11. 11

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  12. 12

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  13. 13

    Conversion double en BigDecimal en Java

  14. 14

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  15. 15

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  18. 18

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  19. 19

    comment afficher un bouton au-dessus d'un autre élément ?

  20. 20

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  21. 21

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

chaudétiquette

Archive