【问题标题】:Add new string in a text file with certain condition Python在具有特定条件 Python 的文本文件中添加新字符串
【发布时间】:2022-01-02 02:44:21
【问题描述】:

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

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

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

aaaa
bbbb

newRow

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

aaaa
bbbb
newRow

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

提前谢谢你

【问题讨论】:

    标签: python file text editing


    【解决方案1】:

    试试这个:

    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")
    

    【讨论】:

    • 谢谢..它可以在我的情况下工作..
    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    相关资源
    最近更新 更多