J'ai un problème avec mon script Python.
Impression des quantités massives de données sur l'écran et j'aimerais empêcher toutes sortes d'impression à l'écran. P>
edit: strong> p> La bibliothèque que j'utilise est i Les ont définies sur FALSE sans chance! P> br.set_debug_redirects(False)
br.set_debug_responses(False)
br.set_debug_http(False)
3 Réponses :
(Basé sur votre 2e modification)
Si vous ne voulez pas désactiver toutes les sorties, vous pouvez essayer d'être spécifique à Lorsque vous imprimez quelque chose, il passe à l'écran via le Bien sûr, si vous parlez À propos de certaines bibliothèques que vous appelez, il peut s'agir d'une impression sur maintenant si, pour une raison quelconque, vous voulez ignorer complètement stdout (ou stardr) et ne le retate plus jamais, vous pouvez définir vos propres classes de type de fichier qui, simplement supprimer les objets: p> et, pour ajouter à la norme des solutions possibles, voici un Solution qui fonctionne dans des coquilles UNIX: P> mécaniser code> lui-même. http://wwwsearch.sourceforge.net/mechanize/ fournit un extrait que j'ai modifié ( Bien que je ne sois pas sûr si cela fonctionnera): p>
sys.stdout code > fichier. Vous pouvez modifier ce fichier sur n'importe quel autre fichier (par exemple, un fichier journal que vous ouvrez) de manière à ce que rien ne soit imprimé à l'écran: p>
sys.s.s.s.s.s.s.s. / code>. Heureusement, vous pouvez faire exactement la même chose pour celui-ci (continuant d'en haut): p>
# discards all input (change /dev/null to a file name to keep track of output)
python yourScript.py > /dev/null
Merci pour la réponse incroyable! désolé pour la faute true / faux
AttributeError: l'objet "Delardeur" n'a aucun attribut 'Flush'
Vous pouvez rediriger sys.stsdout et sys.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. comme objet de la tienne, par exemple mais je ne recommanderais pas que la simple option est d'utiliser la redirection du niveau d'exploitation par exemple p>
Et si vous avez besoin de rediriger aussi stardr (en bash) python myscript.py 2> & 1> out.log code>
Vous pouvez également utiliser le module stressio code>, au lieu de rouler votre propre flux stdout. De temps en temps, le stdout a besoin de plus qu'un
Ecrire une méthode code> (
Flush code> est un autre courant), que Stringio va gérer.
import StringIO
import sys
sys.stdout = StringIO.StringIO()
Pouvez-vous donner plus d'informations? De quel script parlez-vous? Quel type de données est-il imprimé? Pouvez-vous montrer du code? Utilisez-vous des scripts externes?