我想用python的no行替换文件中的单词我有一个no行列表?

我想用python的no行替换文件中的单词我有一个no行列表?,python,list,file,Python,List,File,如果我有如下文件: Flower Magnet 5001 100 0 我有一个包含行号的列表,我必须更改它 list=[2,3] 如何使用python实现这一点,我期望的结果是: Flower Most Most 100 0 我尝试过的代码: f = open("your_file.txt","r") line = f.readlines()[2] print(line) if line=="5001": print "yes" else: print "no" 但它无法与

如果我有如下文件:

Flower
Magnet
5001
100
0
我有一个包含行号的列表,我必须更改它

list=[2,3]

如何使用python实现这一点,我期望的结果是:

Flower
Most
Most
100
0
我尝试过的代码:

f = open("your_file.txt","r")
line = f.readlines()[2]
print(line)
if line=="5001":
    print "yes"
else:
    print "no"
但它无法与之匹敌。
我想覆盖我正在阅读的文件

您可以简单地循环浏览您必须在文件中替换的索引列表(我的原始答案不必要地循环浏览文件中的所有行):

输出:

Flower
Most
Most
100
0
要覆盖用替换文件打开的文件,可以使用以下命令:

with open('test.txt', 'r+') as f:
  data = f.read().splitlines()
  replace = {1,2}
  for i in replace:
    data[i] = 'Most'
  f.seek(0)
  f.write('\n'.join(data))
  f.truncate()

您可以简单地循环浏览文件中必须替换的索引列表(我的原始答案不必要地循环浏览文件中的所有行):

输出:

Flower
Most
Most
100
0
要覆盖用替换文件打开的文件,可以使用以下命令:

with open('test.txt', 'r+') as f:
  data = f.read().splitlines()
  replace = {1,2}
  for i in replace:
    data[i] = 'Most'
  f.seek(0)
  f.write('\n'.join(data))
  f.truncate()

出现此问题的原因是,当您从用python打开的文件中获取一行时,最后还会得到换行符(
\n
)。要解决此问题,可以使用函数,该函数将自动删除这些字符

例如


出现此问题的原因是,当您从用python打开的文件中获取一行时,最后还会得到换行符(
\n
)。要解决此问题,可以使用函数,该函数将自动删除这些字符

例如


我想在该文件中写入附加或覆盖?覆盖file@RinkiNag更新以显示如何覆盖该文件。嘿,克里斯,你能帮助我如何覆盖该文件吗?我想在该文件中写入附加或覆盖?覆盖file@RinkiNag更新以显示如何覆盖该文件。嘿,克里斯,你能帮我在中如何覆盖吗你能帮我在该文件中覆盖吗?我想看一看教程(比如从打开和关闭文件开始)你能帮我在该文件中覆盖吗?我想看一看教程(比如从打开和关闭文件开始)