আমি পাইথনটি ব্যবহার করে প্রিন্টটি একটি টেক্সট ফাইলে পুনর্নির্দেশ করতে চাই। আমার কাছে 'ফর' লুপ রয়েছে, যা আমার প্রতিটি .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....
তো সমস্যাটা কী? এই sys.stdout ছাড়া অন্য কোন উপায়?
আমার ফলাফলটি আমার মতো দেখতে দরকার:
Filename: ERR001268.bam
Readlines finished!
Mean: 233
SD: 10
Interval is: (213, 252)
f.write(line)
- এটি শেষে একটি লাইন ব্রেক সন্নিবেশ করায়।
f.write(line)
একটি লাইন ব্রেক যোগ করে না।
f.write(line+'\n')
যাইহোক, সর্বদা পারে ..
f.write(data)
করবেন না ?