Yazdırmayı python kullanarak bir .txt dosyasına yeniden yönlendirmek istiyorum. TÜM bu çıktıyı tek bir dosyaya yeniden yönlendirmek istediğinizde '.' Döngümün her biri için çıktıyı yazdıracak bir 'for' döngüsü var. Bu yüzden koymaya çalıştım
f = open('output.txt','w'); sys.stdout = f
senaryomun başında. Ancak .txt dosyasında hiçbir şey almıyorum. Benim senaryom:
#!/usr/bin/python
import os,sys
import subprocess
import glob
from os import path
f = open('output.txt','w')
sys.stdout = f
path= '/home/xug/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!'
........print....
........print....
Peki sorun ne? Bu sys.stdout dışında başka bir yol var mı?
Benim sonuç bakmak gerekir:
Filename: ERR001268.bam
Readlines finished!
Mean: 233
SD: 10
Interval is: (213, 252)
f.write(line)
- sonuna bir satır sonu ekler.
f.write(line)
satır sonu eklemez.
f.write(line+'\n')
Ancak, her zaman olabilir ..
f.write(data)
?