python如何写入现有txt文件中的特定行

时间:2017-07-19 10:20:02

标签: python

我正在编写一个脚本来读取输入文件,获取值并需要在输出模板中的特定位置(行)写入,我绝对是新手,不能这样做。它要么写入输出的第一行,要么写入最后一行。

  

打开文件' r +'

     

使用了file.write(xyz)命令

如何向python解释写入特定行,例如。第17行(输出模板中的空白行)

编辑:

with open (MCNP_input, 'r+') as M:
           line_to_replace = 17
           lines = M.readlines()
           if len(lines) > int (line_to_replace):
               lines[line_to_replace] = shape_sphere + radius + '\n'
               M.writelines(lines)

1 个答案:

答案 0 :(得分:3)

您可以阅读该文件,然后写入一些特定的行。

line_to_replace = 17 #the line we want to remplace
my_file = 'myfile.txt'

with open(my_file, 'r') as file:
    lines = file.readlines()
#now we have an array of lines. If we want to edit the line 17...

if len(lines) > int(line_to_replace):
    lines[line_to_replace] = 'The text you want here'

with open(my_file, 'w') as file:
    file.writelines( lines )