Python 如何将数据打印到文件中?
下面的脚本无法将所有输出打印到文件test.txt中,如何解决?它只打印了一个3-merPython 如何将数据打印到文件中?,python,python-2.7,Python,Python 2.7,下面的脚本无法将所有输出打印到文件test.txt中,如何解决?它只打印了一个3-mer import random def amino(length): return ''.join(random.choice('GPAVLIMCFYWHKRQNEDST') for i in range(length)) list_size = 8000 for j in range(list_size): drd = int(random.normalvariat
import random
def amino(length):
return ''.join(random.choice('GPAVLIMCFYWHKRQNEDST') for i in range(length))
list_size = 8000
for j in range(list_size):
drd = int(random.normalvariate(3, 0))
f = open('gen.dat', 'w')
print amino(drd)
f.write(amino(drd))
f.close()
每次循环都要打开和关闭文件,只打开一次
f = open('gen.dat', 'w')
for j in range(list_size):
aminoacidDRG = int(random.normalvariate(3, 0))
print peptide(aminoacidDRG)
f.write(peptide(aminoacidDRG) + '\n')
f.close()
当您打开带有“w”的文件时,如果该文件已存在,则该文件将被覆盖。您可以使用“a”进行附加,但我建议您使用上面的代码,只打开一次文件并继续写入。通过使用with语句,可以避免关闭文件
with open('gen.dat', 'w') as f:
for j in range(list_size):
aminoacidDRG = int(random.normalvariate(3, 0))
print peptide(aminoacidDRG)
f.write(peptide(aminoacidDRG) + '\n')
当您以“w”模式打开文件时,如果该文件已经存在,则实际上是在覆盖该文件
在循环中打开并关闭文件,因此文件将只包含最后一个DRG。您应该在循环外部打开文件,并使用with语句处理文件,以便with语句可以在with块结束后处理关闭文件的问题
范例-
import random
def peptide(length):
return ''.join(random.choice('GPAVLIMCFYWHKRQNEDST') for i in range(length))
list_size = 8000
with open('gen.dat', 'w') as f:
for j in range(list_size):
aminoacidDRG = int(random.normalvariate(3, 0))
print peptide(aminoacidDRG)
f.write(peptide(aminoacidDRG))
我尝试将相同的打印输出输入到文件中。