我想使用python将打印重定向到一个.txt文件。我有一个“for”循环,它将“打印”每个.bam文件的输出,同时我要将所有这些输出重定向到一个文件。所以我试着f = open('output.txt','w'); sys.stdout = f
在我剧本的开头。但是.txt文件中什么也没有。
我的剧本是:#!/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....
有什么问题吗?除了这个系统还有别的办法吗?
我需要我的结果看起来像:Filename: ERR001268.bam
Readlines finished!
Mean: 233
SD: 10
Interval is: (213, 252)