在Python中向文件添加新行

Kyl*_*ley 1 python

所以我有一个这种格式的文件(不,这不是文件的样子)

aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbb
ccccccccccccccccccc
ddddddddddddddddddd
Run Code Online (Sandbox Code Playgroud)

我想在文件中添加一个新行,使其看起来像

aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbb
ccccccccccccccccccc
ddddddddddddddddddd
eeeeeeeeeeeeeeeeeee
Run Code Online (Sandbox Code Playgroud)

但每当我使用

with open(filename, "a") as updatedFile:
    nextLine="\n%s" % (lineToAdd)
    updatedFile.write(nextLine)
Run Code Online (Sandbox Code Playgroud)

我明白了

aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbb
ccccccccccccccccccc
ddddddddddddddddddd

eeeeeeeeeeeeeeeeeee
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Mar*_*ers 5

你有一个文件在最后已经有了换行符:

aaaaaaaaaaaaaaaaaaa\n
bbbbbbbbbbbbbbbbbbb\n
ccccccccccccccccccc\n
ddddddddddddddddddd\n
Run Code Online (Sandbox Code Playgroud)

你写了一行换行加上附加行:

aaaaaaaaaaaaaaaaaaa\n
bbbbbbbbbbbbbbbbbbb\n
ccccccccccccccccccc\n
ddddddddddddddddddd\n
\n
eeeeeeeeeeeeeeeeeee
Run Code Online (Sandbox Code Playgroud)

在最后用换行符写下你的附加行:

with open(filename, "a") as updatedFile:
    nextLine="%s\n" % (lineToAdd)
    updatedFile.write(nextLine)
Run Code Online (Sandbox Code Playgroud)

所以你最终得到:

aaaaaaaaaaaaaaaaaaa\n
bbbbbbbbbbbbbbbbbbb\n
ccccccccccccccccccc\n
ddddddddddddddddddd\n
eeeeeeeeeeeeeeeeeee\n
Run Code Online (Sandbox Code Playgroud)