在特定条件 Python 的文本文件中添加新字符串

Add new string in a text file with certain condition Python

我试图用 Python 文件末尾新行中的新字符串更新某些文本文件。文件本身可以在末尾有空行,有时也可以没有。我尝试了以下脚本来执行此操作。

 with open(fname, 'a') as file:
     file.write("\n"+newRow)

newRow 是一个包含将要添加的新文本的变量。如果文件的最后一行不为空,它工作正常。但是,这是不正确的,文件的最后一行是空的 space。在这种情况下,文件的最后一行和新行之间将有一个空 space。

aaaa
bbbb

newRow

我问的问题是如何检查文件的最后一行是否为空行。我发现使用 readlines() 可以将文本文件的每一行存储到一个列表中,然后我可以检查最后一行。但是如果我使用 'with open',我不知道该怎么做。所以最后,任何文本文件的预期结果如下

aaaa
bbbb
newRow

我怎样才能达到这个结果?

提前致谢

试试这个:

with open("prova.txt", "r+") as file:
    lines = file.readlines()
    # this will put the seek pointer to the end of file
    file.seek(0,2)

    if lines[len(lines) - 1] == '\n':
        file.write("newRow")
    else:
        file.write("\nnewRow")