Je veux rediriger l'impression vers un fichier .txt en utilisant Python. J'ai un for
boucle, qui print
la sortie pour chacun de mes fichiers .bam alors que je veux rediriger todo dans un seul fichier. J'ai donc essayé de mettre :
f = open('output.txt','w')
sys.stdout = f
au début de mon script. Cependant, je n'obtiens rien dans le fichier .txt. Mon script est :
#!/usr/bin/python
import os,sys
import subprocess
import glob
from os import path
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
samtoolsin = subprocess.Popen(["/share/bin/samtools/samtools","view",bamfile],
stdout=subprocess.PIPE,bufsize=1)
linelist= samtoolsin.stdout.readlines()
print 'Readlines finished!'
Alors quel est le problème ? Un autre moyen que celui-ci sys.stdout
?
Je veux que mon résultat ressemble à :
Filename: ERR001268.bam
Readlines finished!
Mean: 233
SD: 10
Interval is: (213, 252)