Python:写入下一个空行

Python:写入下一个空行,python,Python,我正在尝试编写在三次大迭代中完成的输出,每次打开和关闭outfile时。计数器在迭代之后被重置,诸如此类的事情,我是一个巨大的新手,用我写的劣质代码很难解决这个问题。因此,即使速度较慢,我也希望改变输出的方式 目前对于输出,它只是在第一行上重写,所以我只有程序最后一次运行的输出。(tau,输出是代码中上述迭代中给定的值) 我想知道是否有什么快速方法可以让python在打开文件时检查第一个空行并在那里写入新行?用“a”而不是“w”打开将在文件末尾写入。这是避免覆盖的方法。如果您在附加模式下打开文件

我正在尝试编写在三次大迭代中完成的输出,每次打开和关闭outfile时。计数器在迭代之后被重置,诸如此类的事情,我是一个巨大的新手,用我写的劣质代码很难解决这个问题。因此,即使速度较慢,我也希望改变输出的方式

目前对于输出,它只是在第一行上重写,所以我只有程序最后一次运行的输出。(tau,输出是代码中上述迭代中给定的值)


我想知道是否有什么快速方法可以让python在打开文件时检查第一个空行并在那里写入新行?

用“a”而不是“w”打开将在文件末尾写入。这是避免覆盖的方法。

如果您在附加模式下打开文件:
“a”
而不是“
w
”,您将能够在文件末尾写一行新行。

您可以这样做,以保留文件中每一空行的引用(行号)

# Get file contents
fd = open(file)
contents = fd.readlines()
fd.close()

empty_line = []
i = 0

# find empty line
for line in contents:
    if line == "":
       empty_line.append(i)
    i+=1

小风格建议:您可以编写
outfile.writelines({0}{1}\n'.format(tau,output))
,无需单独提供
\n
。这不一定要找到第一个空行并在那里写入(使用简单的ascii文件会很困难)。但是,它会在最后一行之后写,这是问题真正要问的。。。
# Get file contents
fd = open(file)
contents = fd.readlines()
fd.close()

empty_line = []
i = 0

# find empty line
for line in contents:
    if line == "":
       empty_line.append(i)
    i+=1