Maison >développement back-end >Tutoriel Python >Comment rediriger correctement la sortie d'impression Python vers un fichier texte ?
Rediriger la sortie Python vers un fichier texte
Lorsque vous essayez de rediriger la sortie d'impression vers un fichier texte à l'aide de Python, vous pouvez rencontrer des difficultés si votre choix La méthode ne produit pas les résultats souhaités.
Description du problème
Ce qui suit le code ne parvient pas à rediriger la sortie vers un fichier à l'aide de sys.stdout :
f = open('output.txt','w') sys.stdout = f path= '/home/xxx/nearline/bamfiles' bamfiles = glob.glob(path + '/*.bam') for bamfile in bamfiles: filename = bamfile.split('/')[-1] print 'Filename:', filename
Solution
Au lieu de sys.stdout, envisagez d'utiliser un objet fichier pour l'impression :
with open('out.txt', 'w') as f: print('Filename:', filename, file=f) # Python 3.x
Alternative Solutions
from contextlib import redirect_stdout with open('out.txt', 'w') as f: with redirect_stdout(f): print('data')
./script.py > out.txt
Supplémentaire Considérations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!