Writeline()在文件末尾添加空行[Python]

时间:2019-04-06 15:12:02

标签: python python-3.x file file-manipulation

这是我的代码,用于删除文件的最后一行,但是将其重写为同一文件后,存在一个额外的空行。

lines = open('file.csv', 'r').readlines() 
del lines[-1] 
open('file.csv', 'w').writelines(lines) 

请注意,初始文件有两行:Initial File

 Orange[1st line of csv]
 Blue[2nd line of csv]

请注意,文件的最后一个文本/行已删除,但还有多余的空行:enter image description here

 Orange[1st line of csv]
 [2nd line still exist but empty]

我的目标是删除多余的行。预先谢谢你!

1 个答案:

答案 0 :(得分:1)

原因是换行符不是来自'Orange'的行,而是来自'Blue'的行,实际上是'Blue\n'

因此,您应该执行以下操作:

with open('file.csv', 'r+') as f:
    lines = f.readlines()[:-1]
    lines[-1] = lines[-1].strip()
    f.seek(0)
    f.writelines(lines)
    f.truncate()

请特别注意:

  • 使用with打开文件以防止文件对象泄漏
  • 在读/写模式下对open的单个调用(这更多地取决于样式)

file.csv的内容:

Blue