首页 > 解决方案 > 替换python文件中的行

问题描述

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

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()

标签: pythonfile

解决方案


您可以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) 

推荐阅读