首页 > 解决方案 > 在 Python 中替换文本文件中的字符串

问题描述

我想读入一个文本文件,找到一个特定的行,拆分该行以获得我想要替换的值,然后用我正在使用的脚本中的新值替换该值。该文件如下所示:

num0  30
num1  50
num2  70

这是到目前为止的代码:

newval= 20
with open(file, 'r+') as f:
    for line in open(file):
        if line.startswith('num1'):
            val = line.strip().split()[1]
            line = line.replace(str(val),str(new_val))
     f.write(line + "\n")
 f.close()

如何编辑上面的代码,以便更改以 num1 开头的行中的值,而不仅仅是附加到数据文件的顶部或底部?我哪里错了?谢谢。

标签: python

解决方案


请检查:

import sys, fileinput

File = r"D:\Sunil_Work\File.txt"
Replace_What = 'num1'
New_Value = '20'

for Line in fileinput.input(File, inplace=True):  #:- Entire Line Replace
    if Replace_What in Line:
        Line = Line.replace(Line, Replace_What + ' ' + New_Value + '\n')
    sys.stdout.write(Line)

推荐阅读