您没有描述如何开始打开文件。如果使用file = open(somename, "a"),则不会截断该文件,但会在结尾处写入新数据(即使在大多数(如果不是所有)现代系统上进行查找之后也是如此)。你必须用“r+”打开文件
但是您的示例假设您编写的行与用户键入的行的长度完全相同。文件中没有行组织,只有字节,其中一些表示行结束。
你需要做的是在内存中为所有行使用一个临时文件或一个临时缓冲区,然后用第一个替换的行写出来。
如果内存中有合适的内容(我认为这是因为很少有用户会输入不合适的内容),那么您应该能够:lines = open(somename, 'r').readlines()
lines[0] = "This is the new first line \n"
file = open(somename, 'w')
for line in lines:
file.write(line)
file.close()