2017-01-24 4 views
0

Le terminal coupe automatiquement la sortie lorsqu'elle défile à chaque itération.Comment puis-je voir la sortie complète d'un fichier python lorsqu'il est exécuté dans le terminal?

+0

Si vous exécutez un script avec autant de sortie, il est préférable de le rediriger vers un fichier. – TigerhawkT3

+0

'python3 myscript.py | less' – tdelaney

+0

Le programme python que je cours est particulièrement coûteux en ressources, et par conséquent, je ne veux vraiment pas le faire fonctionner à nouveau. Y at-il un moyen de stocker la sortie de la commande précédemment exécutée dans un fichier texte? – adityak42

Répondre

-1

Par défaut, le terminal mac aura un nombre limité de lignes de tampon. Dites 1 000 Lorsque vous exécutez un programme et que la sortie a franchi 1 000 lignes, vos lignes seront perdues de la mémoire. C'est comme la file d'attente tampon FIFO.

Fondamentalement, la réponse à votre question:

`Is there a way to store the output of the previously run command in a text file?` is no. Sorry. 

Vous pouvez relancer le programme et préserver la sortie en redirigeant vers un autre fichier. Ou augmenter le nombre de lignes dans la mémoire tampon (faire Peut-être illimité)

Vous pouvez utiliser moins de passer par la sortie:

your_command | less 

Votre clé Enter vous mènera.

De même, appuyez sur q pour quitter.

Ou vous pouvez rediriger la sortie vers un fichier

Dans un onglet terminal exécuter le programme et rediriger la sortie vers un fichier output.log comme celui-ci.

python program.py > output.log 

Dans un autre onglet, vous pouvez tailf sur le même fichier journal et de voir la sortie.

tailf output.log 

Pour voir la sortie complète, ouvrez le fichier journal dans n'importe quel éditeur de texte.

Vous pouvez envisager d'augmenter le tampon de retour arrière.

enter image description here

Ou

Si vous voulez voir les données et exécuter également à un fichier, utilisez tee, par exemple,

étincelle shell | tee tmp.out

+0

Le programme python que je cours est particulièrement coûteux en ressources, et par conséquent, je ne veux vraiment pas le relancer. Y at-il un moyen de stocker la sortie de la commande précédemment exécutée dans un fichier texte? – adityak42

+0

@ adityak42 Avez-vous downvote? Parce que vous n'avez pas mentionné cela dans la question d'origine 'Le programme python que je cours est particulièrement coûteux en ressources, et par conséquent, je ne veux vraiment pas le relancer. Y at-il un moyen de stocker la sortie de la commande précédente dans un fichier texte? De toute façon, vérifiez ma réponse. Je ne pense pas que vous pouvez récupérer ce qui est déjà passé de votre tampon. Ce n'est tout simplement plus dans la mémoire. Donc, vous devrez probablement relancer le programme. –

+0

Je n'ai pas downvote! Merci pour vos suggestions. – adityak42