Python:如何写'在文本文件的第二行忽略第一行

时间:2014-03-22 18:44:43

标签: python-3.x seek

我想知道代码,所以我可以写''从第二行到文本文件。

ATM将数据写入文本文件:

with open("data1.txt", "w") as file:

    file.write(str(round(strength, 2)) + "\n")

file.close()

'强度'如值(数字)

阅读'来自文本文件的特定行(本例中为第二行):

with open("data1.txt", "r", encoding="utf-8") as file:

    S1 = file.readlines()
    S1 = float(S1[1].strip())
file.close()

那么我怎样才能从第二行开始写入文件:

with open("data1.txt", "w+", encoding="utf-8") as file:

我知道..要写''从我需要使用的文本文件的开头:

file.seek(0)

那么如何从第二行替换/更改/写入?

非常感谢

2 个答案:

答案 0 :(得分:2)

您可以这样做的一种方法是使用file.readline()读取第一行,使用len(file.readline())计算第一行中的字符数,然后使用file.seek(len(file.readline()) + 1)开始从该位置开始写入,即下一行。

您可能需要更改+1,我还没有对此进行测试。

答案 1 :(得分:2)

您需要先读取文件:

with open("file.txt", "r") as file:
    lines = file.readlines()

然后改变第二行:

lines[1] = str(round(strength, 2)) + "\n"

然后写下所有内容:

with open("file.txt", "w") as file:
    for line in lines:
        file.write(line)