在Python的现有文件前添加一行

我需要在文本文件的第一行中添加一行,并且看来对我唯一可用的选项是多行代码,而不是我从python所期望的。像这样:


f = open('filename','r')

temp = f.read()

f.close()


f = open('filename', 'w')

f.write("#testfirstline")


f.write(temp)

f.close()

有没有更简单的方法?此外,与打开单个手柄进行读写('r +')相比,我更经常看到此两个手柄的示例-为什么?


慕丝7291255
浏览 1531回答 3
3回答

慕莱坞森

Python使许多事情变得容易,并包含许多常见操作的库和包装器,但目标不是隐藏基本事实。您在这里遇到的基本事实是,通常无法在不重写整个结构的情况下将数据放在现有的平面结构之前。无论语言如何,都是如此。有一些方法可以保存文件句柄或使代码的可读性降低,其中许多方法是在其他答案中提供的,但是没有一种方法可以更改基本操作:必须先读取现有文件,然后写出要添加的数据,然后再输入您读入的现有数据。一定要保存文件句柄,但不要试图将此操作打包到尽可能少的代码行中。实际上,永远不要去寻找最少的代码行-就是混淆,而不是编程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python