python - 将 for 循环的输出保存到文件

标签 python file loops save

我打开了一个包含 blast 结果的文件,并在屏幕上以 fasta 格式打印出匹配项。

代码如下所示:

result_handle = open("/Users/jonbra/Desktop/my_blast.xml")

from Bio.Blast import NCBIXML
blast_records = NCBIXML.parse(result_handle)
blast_record = blast_records.next()
for alignment in blast_record.alignments:
    for hsp in alignment.hsps:
        print '>', alignment.title
        print hsp.sbjct

这会将 fasta 文件列表输出到屏幕。 但是我怎样才能创建一个文件并将 fasta 输出保存到这个文件中呢?

更新:我想我必须用 something.write() 替换循环中的 print 语句,但是我们写的 '>', alignment.title 会怎样?

最佳答案

首先,创建一个文件对象:

f = open("myfile.txt", "w") # Use "a" instead of "w" to append to file

您可以打印到文件对象:

print >> f, '>', alignment.title
print >> f, hsp.sbjct 

或者你可以写信给它:

f.write('> %s\n' % (alignment.title,))
f.write('%s\n' % (hsp.sbjct,))

然后你就可以关闭它了:

f.close()

关于python - 将 for 循环的输出保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1684194/

相关文章:

linux - 递归删除所有包含特定字符串的名为 NET_Connections* 的文件

c - 是否可以从 FILE* 中拯救文件描述符?

ios - 在循环期间丢失 NSMutableArray 中的数据

python - 'HTTP Error 403: request disallowed by robots.txt' 是在哪一边生成的?

python - Python中的Pyo:未定义名称 'Server'

asp.net - "Open a file"位于 html 页面的网络共享中?

javascript - 暂停 for 循环的迭代?

c++ - 在C++中将数组中的所有数字相加

python - 使用多处理在 GUI 应用程序中进行异步调用

python - 以某种方式使用 py.test 时,我可以使用 python 调试器进行调试吗?