替换python文件中的行

时间:2018-05-19 14:14:44

标签: python file

我想写一个给出一些整数值的程序。我有一个文件,第一行有一个值。如何更改line的值(例如更改为12)。这是我的代码,但是 这得到一个值,我想转到第2行,并在第2行添加m到该数字,但它不起作用。

t=open('pash.txt', 'r')
g=[]
for i in range(3):
g.append(t.readline())
t.close()
g[o-1]=(int(g[o-1]))+m # o is the number of line in file
print(g[o-1])
t=open("pash.txt","w")
for i in range(3):
t.write(str(g[i]))
t.write('\n')
t.close()

1 个答案:

答案 0 :(得分:1)

您可以open,使用readlines逐行阅读文件,修改内容并重新write文件:

with open('pash.txt', 'r') as f:
    lines = f.readlines()

m = 5  # value you need to add to a line.
o = 2  # line number of the line to modify.
with open('pash.txt', 'w') as f:
    for x, line in enumerate(lines):
        if x == o:
            line = int(line) + m
        f.write(line)