擅长:python、mysql、java
<p>我的首选解决方案是使用<a href="https://docs.python.org/3/library/csv.html" rel="noreferrer">CSV</a>模块。这是一个标准模块,所以:</p>
<ul>
<li>其他人已经做了所有的重担。</li>
<li>它允许您利用<a href="https://docs.python.org/3/library/csv.html" rel="noreferrer">CSV</a>模块的所有功能。</li>
<li>你可以相当自信它会按预期运行(我自己写的时候并不总是这样)。</li>
<li>你不必重新发明轮子,无论是在你写文件的时候,还是在你在另一端读回它的时候(我不知道你的记录格式,但是如果你的一个记录包含一个<kbd>选项卡</kbd>,那么<a href="https://docs.python.org/3/library/csv.html" rel="noreferrer">CSV</a>将为你正确地转义它)。</li>
<li>当你离开公司5年后,下一个人必须进去更新代码时,支持会更容易。</li>
</ul>
<p>下面的代码片段应该可以帮您实现这一点:</p>
<pre><code>#! /bin/env python3
import csv
with open('records.tsv', 'w') as tsvfile:
writer = csv.writer(tsvfile, delimiter='\t', newline='\n')
for record in SeqIO.parse("/home/fil/Desktop/420_2_03_074.fastq", "fastq"):
writer.writerow([record.id, record.seq, record.format("qual")])
</code></pre>
<p>注意,这是针对Python 3.x的。如果您使用的是2.x,那么<code>open</code>和<code>writer = ...</code>将略有不同。</p>