Saya ingin mengarahkan cetak ke file .txt menggunakan python. Saya memiliki loop 'untuk', yang akan 'mencetak' output untuk setiap file .bam saya sementara saya ingin mengarahkan SEMUA output ini ke satu file. Jadi saya mencoba memasukkan
f = open('output.txt','w'); sys.stdout = f
di awal skrip saya. Namun saya tidak mendapatkan apa pun di file .txt. Skrip saya adalah:
#!/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....
Jadi apa masalahnya? Ada cara lain selain sys.stdout ini?
Saya perlu hasil saya terlihat seperti:
Filename: ERR001268.bam
Readlines finished!
Mean: 233
SD: 10
Interval is: (213, 252)
f.write(line)
- Menyisipkan jeda baris di akhir.
f.write(line)
tidak menambahkan jeda baris ke data.
f.write(line+'\n')
Namun, selalu bisa ..
f.write(data)
?