2014-09-09 4 views
0

J'essaye de déboguer mon code et de voir si j'entre dans une boucle quand je le devrais. Je cours cela sur un serveur Linux. Le script python est exécuté via le site Web. Je veux imprimer quelque chose à la fenêtre du terminal pour me faire savoir que je suis entré dans la boucle. J'ai essayé:Imprimer dans une fenêtre de terminal en python

proc = subprocess.Popen(["echo" + "Statement"]) 

Comment imprimer dans la fenêtre du terminal via un script python?

+0

Si cela fonctionne sur un site Web, il ne semble pas qu'il soit connecté à un tty. À quelle tyte voulez-vous imprimer et pourquoi? –

+0

Utilisez le module de journalisation pour enregistrer des éléments. L'ouverture d'un sous-processus pour exécuter l'écho n'est pas une bonne idée, même si cela fonctionnerait ... – geoffspear

+0

Je voudrais l'imprimer en tty2. Le script est exécuté côté serveur. Le but du script est de changer l'adresse IP statique via l'interface Web. Je voudrais imprimer une ou deux variables du script à l'écran pour m'assurer que les bonnes variables sont passées. Si c'est possible. – Keith

Répondre

0

Occasionnel print() devrait le faire dans le cas où vous exécutez le serveur à partir de la fenêtre du terminal. Sinon, vous devez la sortie de la conduite quelque part, probablement dans le fichier comme ce

import sys 
sys.stdout = open('/tmp/server.log', 'w') 

puis dans votre fenêtre de terminal ne

tail -f /tmp/server.log 

qui accrochera au dossier et imprimer des modifications, donc obtenir l'effet tu voulais.

+0

Est-ce que cela interférerait avec l'écriture dans d'autres fichiers? J'écris dans un fichier d'interface temporaire qui est copié sur les interfaces une fois terminé. – Keith

+0

non, il ne devrait pas interférer avec quoi que ce soit. cela ne changera que l'emplacement pour l'impression. laissez-nous savoir si cela a fonctionné pour vous – kecer

+0

Je ne pouvais pas le faire fonctionner. Je ne suis pas sûr si les autorisations l'arrêtent ou non. – Keith

Questions connexes